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]
|
||||
asyncio_mode = auto
|
||||
testpaths = tests
|
||||
testpaths = tests/unit
|
||||
python_files = test_*.py
|
||||
filterwarnings =
|
||||
ignore::pydantic.PydanticDeprecatedSince20
|
||||
|
||||
Loading…
Reference in New Issue