This is a major refactor of the model test suite. I grouped tests into classes where applicable and used pytest’s parametrisation features to expand the test coverage automatically (we’re over 70 individual tests now with less lines of code).
Plenty of issues emerged after this refactor from unreliable data formats and other edge cases – I don’t think it is feasible to predict and fix on the fly all of them so I added error handling such that the program exits or continues (somewhat) gracefully and prints out information to the user about things that need attention and probably require manual intervention.
This is by no means a done deal; I think more can be done still but this is a good start to having a more robust testing infrastructure.
This is a major refactor of the model test suite. I grouped tests into classes where applicable and used pytest’s parametrisation features to expand the test coverage automatically (we’re over 70 individual tests now with less lines of code). Plenty of issues emerged after this refactor from unreliable data formats and other edge cases – I don’t think it is feasible to predict and fix on the fly all of them so I added error handling such that the program exits or continues (somewhat) gracefully and prints out information to the user about things that need attention and probably require manual intervention.
This is by no means a done deal; I think more can be done still but this is a good start to having a more robust testing infrastructure.