Ensure that test setup is lean while optimizing for speed and atomization between tests.
I noticed when running the QA tests 2 time back to back I get a slew of notification for new group creation and assignment.
This was a total of 9 groups from just running the full suite 2 times.
We should make sure to group tests that can reuse a similar setup one level higher which is the parent container of the object under test.
For example
- Shared static group
- Tests that gets a list of pre-constructed projects
- Tests that gets a list of static labels
- Shared sandbox group
- Tests that creates a project in a group
- Tests that deletes a project in a group
- New teardown group
- Tests that configures a group
For the 5 tests above we only need to create one new group every time those 5 tests run.
The same concept can also be applied to other objects under test. The end result we will get a tree-like structure with a few static leafs and dynamic leafs gets created / torn down.
/cc @ddavison @rymai @mlapierre
I haven't gone into detail and perform an audit of the setup yet but we should make sure that this is the case.
