Junit5- jupiter 所有测试套件@BeforeAll @AfterAll 不工作
Junit5- jupiter all tests suite @BeforeAll @AfterAll not working
前后方法在 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");
}
}
我只想运行方法前后。
谢谢
我可以引用 JUnit 5 migration tipps:
@Before
和 @After
不再存在;使用 @BeforeEach
和 @AfterEach
代替。
@BeforeClass
和 @AfterClass
不再存在;使用 @BeforeAll
和 @AfterAll
代替。
但是这些注释应该在您的测试中使用 class。您的套件 class 中的方法将不会以这种方式调用。您应该知道套件和 JUnit 5 仍在开发中(请参阅 Issue 744)。
您可能需要检查 org.junit.jupiter:junit-jupiter-engine 在您的 classpath.
但是,最新版本的构建工具(带有 surefire 插件的 Maven、Gradle、Eclipse、IntelliJ 等)支持 junit-platform。因此,您不需要将 JUnit4 与 backward-compatible 运行ner.
一起使用
通常你可以是以下几种情况:
正在创建新项目,在这种情况下,您可以直接开始使用 JUnit-Jupiter(并且类路径中没有 JUnit4)
正在将项目从 JUnit4 迁移到 JUnit5。在这里您将需要两个引擎:JUnit-Vintage,它涵盖了使用 JUnit4 API 的现有测试的回溯兼容性,以及 JUnit-Jupiter,它提供了更多的灵活性,包括扩展的组合(具有 Spring、Mockito 和参数化测试功能同时进行,例如)
使用 JUnit4 运行ner 进行 运行 JUnit-Jupiter 测试确实是一个极端情况,当您受到环境(构建工具 and/or IDE) 您无法更改。
有关更多详细信息,示例项目由 JUnit 团队提供:
- Gradle project with JUnit-Jupiter
- Maven project with JUnit-Jupiter
- Maven project migrating from JUnit4 to JUnit5
希望对您有所帮助!
前后方法在 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");
}
}
我只想运行方法前后。
谢谢
我可以引用 JUnit 5 migration tipps:
@Before
和 @After
不再存在;使用 @BeforeEach
和 @AfterEach
代替。
@BeforeClass
和 @AfterClass
不再存在;使用 @BeforeAll
和 @AfterAll
代替。
但是这些注释应该在您的测试中使用 class。您的套件 class 中的方法将不会以这种方式调用。您应该知道套件和 JUnit 5 仍在开发中(请参阅 Issue 744)。
您可能需要检查 org.junit.jupiter:junit-jupiter-engine 在您的 classpath.
但是,最新版本的构建工具(带有 surefire 插件的 Maven、Gradle、Eclipse、IntelliJ 等)支持 junit-platform。因此,您不需要将 JUnit4 与 backward-compatible 运行ner.
一起使用通常你可以是以下几种情况:
正在创建新项目,在这种情况下,您可以直接开始使用 JUnit-Jupiter(并且类路径中没有 JUnit4)
正在将项目从 JUnit4 迁移到 JUnit5。在这里您将需要两个引擎:JUnit-Vintage,它涵盖了使用 JUnit4 API 的现有测试的回溯兼容性,以及 JUnit-Jupiter,它提供了更多的灵活性,包括扩展的组合(具有 Spring、Mockito 和参数化测试功能同时进行,例如)
使用 JUnit4 运行ner 进行 运行 JUnit-Jupiter 测试确实是一个极端情况,当您受到环境(构建工具 and/or IDE) 您无法更改。
有关更多详细信息,示例项目由 JUnit 团队提供:
- Gradle project with JUnit-Jupiter
- Maven project with JUnit-Jupiter
- Maven project migrating from JUnit4 to JUnit5
希望对您有所帮助!