-
Notifications
You must be signed in to change notification settings - Fork 250
Description
Motivation or Problem
nosetest has been officially deprecated since 2016 and should not be used.
RMG is currently organized with the testing files (i.e. test_Molecule.py) alongside the files they are testing in the same directory. This is no longer considered best practice for software development: cantera keeps a separate directory for tests, for example, and the python guide also suggests using a separate directory.
Desired Solution
First, switch the CI to use pytest and update the developer instructions to point toward pytest. This should (FLW) be a drop in replacement.
Second, all of the tests will be moved to a test directory that recreates the file tree of the rest of RMG, s.t. everything will still be in the 'same place' as it was before, but without the source code next to it. This will improve maintainability, readability, and ease development.
Additional Context
This change will cause merge conflicts in all outstanding PRs that include unit tests, since the files where the unit tests are located will have been 'deleted'. To ease this transition, there will be a waiting period before the PR containing the pytest overhaul is merged to allow for older PRs to be merged.
The proposed deadline is August 1st, 2023. On this day, all test files wlil be moved, pytest will be used, and it will become difficult to merge PRs.