1.0 KiB
Test Strategy and Standards
Philosophy
We will follow a "test-after" approach for the MVP, focusing on robust unit and integration tests. The goal is to ensure each module functions correctly in isolation and that the core workflows operate end-to-end.
Unit Tests
Each module in src/ will have a corresponding test file in tests/unit/. We will mock external dependencies like AI services and cloud provider APIs. Business logic (rule engine, interlinking calculations, data parsing) will have high unit test coverage.
Integration Tests
Located in tests/integration/, these tests will cover the interactions between our modules. For example, a test will verify that ingesting a file correctly creates database entries via the repository. We will use an in-memory SQLite database for these tests to ensure they are fast and isolated. For cloud services, we will use mocking libraries like moto for S3 to test the deployment logic without actual network calls.
Execution
All tests will be run via pytest.