docs: Add a unit testing guide and update pytest configuration to specifically target unit tests.
parent
ed5275c237
commit
ad897c908a
@ -0,0 +1,44 @@
|
|||||||
|
# Unit Testing Guide - be-rbd
|
||||||
|
|
||||||
|
This document provides instructions on how to set up and run unit tests for the **be-rbd** project.
|
||||||
|
|
||||||
|
## 1. Preparation
|
||||||
|
|
||||||
|
### Install Dependencies
|
||||||
|
Ensure you have all dependencies installed. This project uses `poetry`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install dependencies
|
||||||
|
poetry install
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Configuration
|
||||||
|
|
||||||
|
### Pytest Configuration
|
||||||
|
Ensure the `pytest.ini` file in the root directory points to the `unit` test folder:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[pytest]
|
||||||
|
testpaths = tests/unit
|
||||||
|
python_files = test_*.py
|
||||||
|
asyncio_mode = auto
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. Running Tests
|
||||||
|
|
||||||
|
### Run Unit Tests
|
||||||
|
To run all unit tests in the project:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
poetry run pytest tests/unit
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run Specific Unit Test File
|
||||||
|
```bash
|
||||||
|
poetry run pytest tests/unit/test_specific_feature.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. Best Practices
|
||||||
|
|
||||||
|
- **Isolation**: Unit tests should be isolated from external services. Use mocking for APIs and databases.
|
||||||
|
- **Async Testing**: Use `@pytest.mark.asyncio` for asynchronous test functions.
|
||||||
@ -1,6 +1,6 @@
|
|||||||
[pytest]
|
[pytest]
|
||||||
asyncio_mode = auto
|
asyncio_mode = auto
|
||||||
testpaths = tests
|
testpaths = tests/unit
|
||||||
python_files = test_*.py
|
python_files = test_*.py
|
||||||
filterwarnings =
|
filterwarnings =
|
||||||
ignore::pydantic.PydanticDeprecatedSince20
|
ignore::pydantic.PydanticDeprecatedSince20
|
||||||
|
|||||||
Loading…
Reference in New Issue