## Example
-For a simple example, let's consider the following `main.py` module:
+For a simple example, let's consider a file structure similar to the one described in [Bigger Applications](../tutorial/bigger-applications.md){.internal-link target=_blank} and [Testing](../tutorial/testing.md){.internal-link target=_blank}:
+
+```
+.
+βββ app
+βΒ Β βββ __init__.py
+βΒ Β βββ main.py
+βΒ Β βββ test_main.py
+```
+
+The file `main.py` would have:
```Python
{!../../../docs_src/async_tests/main.py!}
```
-The `test_main.py` module that contains the tests for `main.py` could look like this now:
+The file `test_main.py` would have the tests for `main.py`, it could look like this now:
```Python
{!../../../docs_src/async_tests/test_main.py!}
### **FastAPI** app file
-Let's say you have a file `main.py` with your **FastAPI** app:
+Let's say you have a file structure as described in [Bigger Applications](./bigger-applications.md){.internal-link target=_blank}:
+
+```
+.
+βββ app
+βΒ Β βββ __init__.py
+βΒ Β βββ main.py
+```
+
+In the file `main.py` you have your **FastAPI** app:
+
```Python
{!../../../docs_src/app_testing/main.py!}
### Testing file
-Then you could have a file `test_main.py` with your tests, and import your `app` from the `main` module (`main.py`):
+Then you could have a file `test_main.py` with your tests. It could live on the same Python package (the same directory with a `__init__.py` file):
-```Python
+``` hl_lines="5"
+.
+βββ app
+βΒ Β βββ __init__.py
+βΒ Β βββ main.py
+βΒ Β βββ test_main.py
+```
+
+Because this file is in the same package, you can use relative imports to import the object `app` from the `main` module (`main.py`):
+
+```Python hl_lines="3"
{!../../../docs_src/app_testing/test_main.py!}
```
+...and have the code for the tests just like before.
+
## Testing: extended example
Now let's extend this example and add more details to see how to test different parts.
### Extended **FastAPI** app file
+Let's continue with the same file structure as before:
+
+```
+.
+βββ app
+βΒ Β βββ __init__.py
+βΒ Β βββ main.py
+βΒ Β βββ test_main.py
+```
+
Let's say that now the file `main.py` with your **FastAPI** app has some other **path operations**.
It has a `GET` operation that could return an error.