Reduce test runtime, e.g. less reliance on test fixtures or test database instances
Our tests can run very long which affects feedback cycles. We have many integration tests always initializing a test database with schema. Maybe we can improve by relying less on test fixtures or even completely on test database instances
- AC1: All tests have been reviewed for their use of fixtures and the test database
- AC2: Test databases are only instantiated where explicitly needed
- AC3: Test databases are only initialized with data that is actually needed for specific tests
- Find all tests that instantiate a test database with fixtures and try instead to use initialization of only necessary data
- Find all tests that instantiate a test database and try instead to use instantiation of data objects directly instead of using a database
- Optional: Rework tests to not need a database at all anymore
We are down on the use of fixtures in most tests now, and the redundant initialization of the db in Selenium tests is also gone.
That last PR is still an open draft. Are you planning to pursue this further?
Arguably it's a cosmetic fix since it's not removing fixtures but merely adjusting the defaults. So leaving it as-is would make sense to me as well.