我的要求是有一些初始化的一组测试完成并清除其关闭,一旦所有测试完成。 这些试验在旋转,因为他们的关系并不密切一些测试类,但需要一个共同的初始化。
我使用@SelectClasses
形成套件,并试图利用@ExtendWith
使用自定义的扩展,它应该处理的前处理和后处理。 这不工作,我不确定如果JUnit中存在一个合适的解决方案。 共享的东西已经尝试的示例代码。
套房:
@SelectClasses({FirstTest.class, SecondTest.class})
@ExtendWith(SuiteExtension.class)
@RunWith(JUnitPlatform.class)
@SuiteDisplayName("test suite")
public class SuiteClass {
}
延期:
public class SuiteExtension implements BeforeAllCallback, AfterAllCallback {
@Override
public void afterAll(ExtensionContext context) throws Exception {
System.out.println("afterAll");
}
@Override
public void beforeAll(ExtensionContext context) throws Exception {
System.out.println("beforeAll");
}
}
测试1级:
public class FirstTest {
@Test
void test1(){
System.out.println("test1");
}
}
测试2级:
public class SecondTest {
@Test
void test2(){
System.out.println("test2");
}
}
输出:
test1
test2
预期输出:
beforeAll
test1
test2
afterAll