To gain full control of test execution order, the current implementation is to run test "separately". There are at least two drawbacks of this method:
@BeforAll/@AfterAll method will execute multiple times. This violates the intention of it, i.e., that method should only run once for all tests in the same test class. And it could lead to some unexpected results.
- It brings some performance overhead. But this issue is minor.