Document test organization and add Cursor workflow rules.
PR Title Check / check-title (pull_request) Successful in 8s
Test Python Package / unit-tests (pull_request) Successful in 13s
Code Quality Pipeline / code-quality (pull_request) Successful in 23s
Test Python Package / integration-tests (pull_request) Successful in 1m14s
Test Python Package / coverage-report (pull_request) Successful in 12s
PR Title Check / check-title (pull_request) Successful in 8s
Test Python Package / unit-tests (pull_request) Successful in 13s
Code Quality Pipeline / code-quality (pull_request) Successful in 23s
Test Python Package / integration-tests (pull_request) Successful in 1m14s
Test Python Package / coverage-report (pull_request) Successful in 12s
Record the one-to-one unit test file convention in README and add rules for test placement and copy-ready PR text after first push. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
co-authored by
Cursor
parent
44b15cb21a
commit
a0e5c9dcca
@@ -0,0 +1,31 @@
|
||||
---
|
||||
description: Unit test file naming and placement conventions
|
||||
globs: tests/**/*.py
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Test Organization
|
||||
|
||||
Unit tests use a one-to-one mapping between source modules and test files.
|
||||
|
||||
## Naming
|
||||
|
||||
- `python_repositories/<path>/<module>.py` → `tests/unit/<module>_test.py`
|
||||
- Test files must end with `_test.py` (enforced by pre-commit `name-tests-test`)
|
||||
|
||||
## Placement
|
||||
|
||||
- Add tests to the existing `*_test.py` for the module under test
|
||||
- Do not create cross-cutting test files (e.g. `structural_typing_test.py`); colocate with the relevant interface/adapter/config test file
|
||||
- Shared fixtures → `tests/conftest.py`
|
||||
- Module-specific helper classes → the matching test file
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
json_repository_interface.py → tests/unit/json_repository_interface_test.py
|
||||
redis_adapter.py → tests/unit/redis_adapter_test.py
|
||||
redis_config.py → tests/unit/redis_config_test.py
|
||||
```
|
||||
|
||||
Integration tests live under `tests/integration/<backend>/` with the same `_test.py` suffix.
|
||||
Reference in New Issue
Block a user