JUnit 4 使用 Suites 时@BeforeClass & @AfterClass
在下面使用此方法时,通过设置 jUnit with Suites。我们遇到了一个问题,即在任何测试开始执行之前,每个Testclass中的所有@BeforeClass都将被执行。(对于@BeforeClass运行的每个n个TestClass文件,然后在它们执行后,它开始执行第一个MyTest.class文件@Test)
这将导致我们分配大量资源和内存。我的想法是,它一定是错误的,难道每个@BeforeClass不应该在执行实际的测试类之前运行,而不是在套件启动时运行吗?
@RunWith(Suite.class)
@Suite.SuiteClasses({ MyTests.class, Mytests2.class, n1, n2, n })
public class AllTests {
// empty
}
public class MyTests { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
public class MyTests2 { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...