在JUnitPlatform中不起作用的前后方法。
代码在下面。
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.runner.RunWith;
@RunWith(JUnitPlatform.class)
@SelectClasses({
MyControllerTest.class
})
public class AdminAppTest {
@BeforeAll
public static void setUp() {
System.out.println("setting up");
}
@AfterAll
public static void tearDown() {
System.out.println("tearing down");
}
}我只想跑之前和之后的方法。
谢谢
发布于 2019-04-19 22:02:06
发布于 2022-06-10 10:07:16
在遇到同样的问题之后,就遇到了这个问题,@毕竟,也没有调用@AfterEach注释的方法。在我的例子中,问题是JUnit4的一个不正确的导入潜入了我的测试类,我导入的是org.junit.Test而不是org.junit.jupiter.api.Test。一旦修复了这个问题,我的带注释的方法就再次被愉快地调用了。
发布于 2019-07-09 11:57:44
您可能需要检查org.junit.jupiter:junit-jupiter-engine是否在您的类路径中。
然而,最近版本的构建工具(Maven与尽力而为的插件,Gradle,等)支持junit-platform.因此,您不需要在向后兼容的运行程序中使用JUnit4。
通常,您可以在下列情况下:
使用JUnit4运行程序来运行JUnit-木星测试确实是一个问题,因为您受到了无法更改的环境(构建工具和/或IDE)的限制。
有关更多细节,JUnit团队提供了示例项目:
希望这能帮上忙!
https://stackoverflow.com/questions/55759240
复制相似问题