Parallel test execution
We could parallelise existing tests with JUnit 5 and Maven to reduce execution time.
- In order to utilise parallelism, the tests need to be independent, which means they shouldn’t depend on the success of other tests. If there are tests that need to be executed in specific order, we could separate them into another category.
- Shared resources is a challenge. E.g. tests that write models to the same output file will probably result in flaky tests.
- Random test failures could also mean that Lutra’s implementation is not thread-safe.