25Create a `TestClient` by passing your **FastAPI** application to it.
26
27▶Create functions with a name that starts with `test_` (this is standard `pytest` conventions).
28
29Use the `TestClient` object the same way as you do with `httpx`.
· · ·
35/// tip
36
37▶Notice that the testing functions are normal `def`, not `async def`.
38
39And the calls to the client are also normal calls, not using `await`.
· · ·
53/// tip
54
55▶If you want to call `async` functions in your tests apart from sending requests to your FastAPI application (e.g. asynchronous database functions), have a look at the [Async Tests](../advanced/async-tests.md) in the advanced tutorial.
56
57///
· · ·
71├── app
72│ ├── __init__.py
73▶│ └── main.py
74```
75
· · ·
76▶In the file `main.py` you have your **FastAPI** app:
25Crea un `TestClient` pasándole tu aplicación de **FastAPI**.
26
27▶Crea funciones con un nombre que comience con `test_` (esta es la convención estándar de `pytest`).
28
29Usa el objeto `TestClient` de la misma manera que con `httpx`.
· · ·
35/// tip | Consejo
36
37▶Nota que las funciones de prueba son `def` normales, no `async def`.
38
39Y las llamadas al cliente también son llamadas normales, sin usar `await`.
· · ·
53/// tip | Consejo
54
55▶Si quieres llamar a funciones `async` en tus pruebas además de enviar requests a tu aplicación FastAPI (por ejemplo, funciones asincrónicas de bases de datos), echa un vistazo a las [Pruebas Asincrónicas](../advanced/async-tests.md) en el tutorial avanzado.
56
57///
· · ·
71├── app
72│ ├── __init__.py
73▶│ └── main.py
74```
75
· · ·
76▶En el archivo `main.py` tienes tu aplicación de **FastAPI**:
1# Tutorial - Guía del Usuario { #tutorial-user-guide }
2
3▶Este tutorial te muestra cómo usar **FastAPI** con la mayoría de sus funcionalidades, paso a paso.
4
5Cada sección se basa gradualmente en las anteriores, pero está estructurada para separar temas, de manera que puedas ir directamente a cualquier sección específica para resolver tus necesidades específicas de API.
· · ·
6
7▶También está diseñado para funcionar como una referencia futura para que puedas volver y ver exactamente lo que necesitas.
8
9## Ejecuta el código { #run-the-code }
· · ·
11Todos los bloques de código pueden ser copiados y usados directamente (de hecho, son archivos Python probados).
12
13▶Para ejecutar cualquiera de los ejemplos, copia el código a un archivo `main.py`, y comienza `fastapi dev`:
14
15<div class="termy">
· · ·
24 Importing from <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font>
7## Configuração e Instalação { #setup-and-installation }
8
9▶A **FastAPI Extension** está disponível para [VS Code](https://code.visualstudio.com/) e [Cursor](https://www.cursor.com/). Pode ser instalada diretamente pelo painel de Extensões de cada editor, pesquisando por "FastAPI" e selecionando a extensão publicada por **FastAPI Labs**. A extensão também funciona em editores no navegador, como [vscode.dev](https://vscode.dev) e [github.dev](https://github.dev).
10
11### Descoberta da Aplicação { #application-discovery }
· · ·
12
13▶Por padrão, a extensão descobre automaticamente aplicações FastAPI no seu workspace procurando por arquivos que instanciam `FastAPI()`. Se a detecção automática não funcionar para a estrutura do seu projeto, você pode especificar um ponto de entrada via `[tool.fastapi]` em `pyproject.toml` ou pela configuração `fastapi.entryPoint` do VS Code usando notação de módulo (por exemplo, `myapp.main:app`).
14
15## Funcionalidades { #features }
· · ·
15▶## Funcionalidades { #features }
16
17- **Explorador de Operações de Rota** - Uma visualização em árvore na barra lateral de todas as <dfn title="rotas, endpoints">*operações de rota*</dfn> da sua aplicação. Clique para ir diretamente a qualquer definição de rota ou de router.
· · ·
21- **Transmitir logs da aplicação** - Transmissão em tempo real dos logs da aplicação implantada no FastAPI Cloud, com filtragem por nível e busca de texto.
22
23▶Se quiser se familiarizar com as funcionalidades da extensão, você pode abrir o walkthrough da extensão acessando a Paleta de Comandos (<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> ou no macOS: <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd>), selecionando "Welcome: Open walkthrough..." e, em seguida, escolhendo o walkthrough "Get started with FastAPI".
7## Configuración e instalación { #setup-and-installation }
8
9▶La **Extensión de FastAPI** está disponible tanto para [VS Code](https://code.visualstudio.com/) como para [Cursor](https://www.cursor.com/). Se puede instalar directamente desde el panel de Extensiones en cada editor buscando "FastAPI" y seleccionando la extensión publicada por **FastAPI Labs**. La extensión también funciona en editores basados en navegador como [vscode.dev](https://vscode.dev) y [github.dev](https://github.dev).
10
11### Descubrimiento de la aplicación { #application-discovery }
· · ·
12
13▶Por defecto, la extensión descubrirá automáticamente aplicaciones FastAPI en tu espacio de trabajo escaneando archivos que creen un instance de `FastAPI()`. Si la detección automática no funciona con la estructura de tu proyecto, puedes especificar un punto de entrada mediante `[tool.fastapi]` en `pyproject.toml` o la configuración de VS Code `fastapi.entryPoint` usando notación de módulo (p. ej. `myapp.main:app`).
14
15## Funcionalidades { #features }
· · ·
15▶## Funcionalidades { #features }
16
17- **Explorador de Path Operations** - Una vista en árbol en la barra lateral de todas las <dfn title="rutas, endpoints">*path operations*</dfn> de tu aplicación. Haz clic para saltar a cualquier definición de ruta o de router.
· · ·
21- **Streaming de logs de la aplicación** - Streaming en tiempo real de logs desde tu aplicación desplegada en FastAPI Cloud, con filtrado por nivel y búsqueda de texto.
22
23▶Si quieres familiarizarte con las funcionalidades de la extensión, puedes revisar el recorrido guiado de la extensión abriendo la Paleta de Comandos (<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> o en macOS: <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd>) y seleccionando "Welcome: Open walkthrough..." y luego eligiendo el recorrido "Get started with FastAPI".
53De la misma forma que con los modelos de Pydantic, declaras atributos de clase con anotaciones de tipos, y posiblemente, valores por defecto.
54
55▶Puedes usar todas las mismas funcionalidades de validación y herramientas que usas para los modelos de Pydantic, como diferentes tipos de datos y validaciones adicionales con `Field()`.
53Da mesma forma que com modelos do Pydantic, você declara atributos de classe com anotações de tipo e, possivelmente, valores padrão.
54
55▶Você pode usar as mesmas funcionalidades e ferramentas de validação que usa em modelos do Pydantic, como diferentes tipos de dados e validações adicionais com `Field()`.