Skip to content

Breaking Change on Aug. 1: Switch from nosetest to pytest and Overhaul Testing Layout #2380

@JacksonBurns

Description

@JacksonBurns

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.

Metadata

Metadata

Assignees

Labels

EpicPython 3.11 TransitionPRs and Issues related to transitioning from Python 3.7 to 3.11

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions