-
Notifications
You must be signed in to change notification settings - Fork 47
Description
Describe Enhancement
Improve the reliability of IBind by revamping our current test suite, running those tests in CI, and collecting the code coverage so we can work towards a goal.
Things I'd like to cover and align with folks on in subsequent comments in this issue:
-
Establish Clear Test Patterns. Implement a standard pattern for our unit and integration tests.
-
Improve Test Coverage. Add tests for components we don't cover yet, particularly core client logic (
ibind/base,ibind/client) andibind/oauth, have robust unit and integration tests. -
Validate current tooling. Should we stick with unittest, or adopt pytest? Don't want to make a hasty decision here so happy to dive into it.
-
Automate Testing in CI. Configure the GitHub Actions workflow to automatically run all tests in our PRs. This will be great to have better confidence that we have extensive testing of IBind, and those test suites run against all the python versions we support and both OSs.
-
Implement Code Coverage Tracking. Integrate with Codecov.io (or a similar service) to monitor test coverage and identify untested code paths. Align on a coverage goal to slowly strive for.
Why?
- Catch bugs earlier in the development cycle.
- Provide greater assurance that changes don't break existing functionality.
- Speed up development since Unit tests provide faster feedback.
- Enhance maintainability, well-structured tests are easier to understand, modify, and debug IBind's implementation.
- Help contributors with having clear testing practices and automated checks will lower the barrier for community contributions.
Will post specific ideas for each in below comments.