Minimal unit testing infrastructure
If x3div is meant to serve a new starting point for further development, a good, fast and automated suite of unit tests will help move much faster. The upfront cost of setting this up will be rewarded by trust in the codebase and the freedom to "break things" as more features are added or ported from xcompact3d. This is also a opportunity to set up GitHub…
If x3div is meant to serve a new starting point for further development, a good, fast and automated suite of unit tests will help move much faster. The upfront cost of setting this up will be rewarded by trust in the codebase and the freedom to "break things" as more features are added or ported from xcompact3d. This is also a opportunity to set up GitHub actions, which will he helpful to implement automated integration and regression tests at a later stage.
Outcome:
- Suite of unit test covering the core algorithms and data manipulation functions. Aim for significant code coverage.
- Units tests are automated using pFUnit. Building the test executable and running it with something close to
make test
. - A Continuous Integration (CI) GitHub Actions workflow builds x3div and runs the test. The workflow is triggered by pushing commits to a remote branch.
"Nice to have"s:
- Test organisation is modular so that developers can run locally only the tests that are expected to be relevant to their changes. The full test suite is still run on the CI.