ATM
ATM copied to clipboard
Add minimal unit tests
Right now there are just a couple of actual tests in the test/
folder, and they leave huge portions of the code untouched.
Eventually, we will need a suite of unit tests and comprehensive integration tests that reasonably convince us that a new change won't break anything. We'll also want to integrate with CircleCI and github so that we can evaluate pull requests from the web (but that will come later).
I'll try to update this issue with our progress as time goes on, but a good start would be unit tests for:
- each hyperpartition for each classification method
- each
database.py
create/query/update function - hyperpartition enumeration
- hyperpartition selection/parameter tuning
- metric computation in
metrics.py
- data loading and encoding with a variety of quirky data types
- serialization/deserialization of models/metrics objects
On second thought, maybe we should get CircleCI up and running first with the couple of tests we do have.
Hey guys, I want to Help with the unit tests. Which one is the easiest class to start??
Hey @takabayashi, thanks for your interest in helping. The metrics are pretty self contained and could be a good place to start. The database functionality is straightforward if you can get the mocking done properly. And the utilities have a variety of isolated functions that could be tested.
Ok great I will try to build the environment, any problem I'II post here...thanks!