Developer Guide
Getting Started
Follow these steps to set up your development environment:
Clone the repository
git clone https://github.com/mkroemer/PawVision.git
cd PawVision
๐งช Running and Writing Tests
PawVision uses pytest for all unit and integration tests. All test files are located in the tests/ directory and are organized by domain (e.g., config, statistics, web interface).
To run all tests:
python run_tests.py --all
To run a specific test file:
python run_tests.py --file tests/test_config.py
To run a specific test class:
python run_tests.py --class TestConfigManager
To run a specific test class in a file:
python run_tests.py --file tests/test_config.py --class TestConfigManager
- Place new tests in the appropriate domain file in
tests/ - Use the
unittestframework (pytest will auto-discover) - Test files should be named
test_*.py - Use temporary files and directories for isolation
- Mock hardware and external dependencies for reliability
All tests should pass before submitting changes. Logging errors during test shutdown are harmless and only occur in test environments.