feat: Add comprehensive Python testing infrastructure with Poetry #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Python Testing Infrastructure
Summary
This PR sets up a comprehensive testing infrastructure for the BERT NLP project using Poetry as the package manager and pytest as the testing framework. The infrastructure provides everything needed to start writing and running tests immediately.
Changes Made
Package Management
pyproject.toml
with complete project configurationpytest
(^7.4.3) - Core testing frameworkpytest-cov
(^4.1.0) - Coverage reportingpytest-mock
(^3.12.0) - Mocking utilitiesTesting Configuration
pyproject.toml
with:unit
,integration
,slow
Directory Structure
Testing Fixtures (conftest.py)
Created reusable fixtures for common testing needs:
temp_dir
- Temporary directory managementmock_config
- Mock configuration objectsmock_model
- Mock model for testingsample_text_data
- Sample text datasample_tokenized_data
- Sample tokenized datamock_data_loader
- Mock data loadercapture_stdout
- Stdout capture for testing print statementsreset_random_seeds
- Automatic random seed reset for reproducibilityAdditional Setup
.gitignore
with comprehensive Python/testing patternsCLAUDE.md
with testing commands and project structureHow to Use
Install Dependencies
Run Tests
Writing Tests
tests/unit/
tests/integration/
conftest.py
for common testing needs@pytest.mark.unit
,@pytest.mark.integration
, or@pytest.mark.slow
Notes
poetry.lock
) is not gitignored and should be committed to ensure reproducible buildsNext Steps