Motivation
Testing is a non-negotiable part of developing reliable software.
Summary of desired feature
A test suite and associated CI configuration set up for the project.
Design
- The tests will be run using pytest.
- The test suite will live in the
tests directory.
- uv will be used to install pytest and manage dependencies.
Describe alternatives you've considered
- I haven't considered any other testing frameworks than pytest.
- I have found it interesting when working on pins-python that the
tests folder was inside the package folder. This supports a more modular approach suitable for monorepos, but I don't think it's necessary for this project and quite unconventional.
- Managing dependencies could be done with rye. However, uv is already basically fit for purpose, even though its lockfiles etc. are quite experimental.
Testing Strategy
I would be able to see a successful CI pipeline which runs the testing suite.
Steps
- Configure the project with uv.
- Create a dummy test which just passes trivially.
- Confirm that pytest runs the test successfully from the CLI
- Set up GitHub actions CI pipeline to run pytest on multiple OSs.
Acceptance Criteria
The CI needs to be able to run at least one test.
Motivation
Testing is a non-negotiable part of developing reliable software.
Summary of desired feature
A test suite and associated CI configuration set up for the project.
Design
testsdirectory.Describe alternatives you've considered
testsfolder was inside the package folder. This supports a more modular approach suitable for monorepos, but I don't think it's necessary for this project and quite unconventional.Testing Strategy
I would be able to see a successful CI pipeline which runs the testing suite.
Steps
Acceptance Criteria
The CI needs to be able to run at least one test.