如何 运行 没有 @RunWith 注释的 JUnit 5 套件
How to run JUnit 5 suite without @RunWith annotation
对于我使用的以下套件 template:
@RunWith(JUnitPlatform.class)
@SelectPackages("com.services.configuration")
@ExcludeTags({IntegrationTags.JPA, IntegrationTags.REST})
public class UnitTestSuite {
}
@RunWith
是一个 JUnit 4 依赖,来自
compile "org.junit.platform:junit-platform-runner:1.0.2"
是否可以拥有不依赖 JUnit 4 的 JUnit 5 套件?以便我可以从我的依赖项中删除 JUnit 4?
不能用适当的 @ExtendsWith
扩展名代替吗?我只需要套房。
JUnitPlatform
运行ner 是一种执行为 JUnit 平台测试引擎编写的测试的方法,例如JUnit Jupiter 测试,使用 JUnit 4。它只是不支持新 JUnit 平台的工具的临时解决方案。
JUnit 平台有一个未解决的问题来添加对声明式套件的支持:https://github.com/junit-team/junit5/issues/744
目前,您可以继续使用 JUnit 4 到 运行 套件或定义自定义 Gradle 任务:
task unitTestSuite(type: Test) {
useJUnitPlatform {
excludeTags "JPA", "REST"
}
filter {
includeTestsMatching "com.services.configuration.*"
}
}
我在这里给出了类似的答案:
您现在可以 运行 完全使用 jUnit 5 引擎的套件:
import org.junit.platform.suite.api.SelectClasses
import org.junit.platform.suite.api.Suite
@Suite
@SelectPackages("com.services.configuration")
@ExcludeTags({IntegrationTags.JPA, IntegrationTags.REST})
public class UnitTestSuite {
}
您必须导入 junit-platform-suite-engine
:
https://search.maven.org/artifact/org.junit.platform/junit-platform-suite-engine
例如compile "org.junit.platform:junit-platform-suite-engine:1.8.0-RC1"
这里有一些文档:
https://junit.org/junit5/docs/snapshot/user-guide/#launcher-api-engines-custom
https://junit.org/junit5/docs/snapshot/api/org.junit.platform.suite.engine/org/junit/platform/suite/engine/package-summary.html
这是一个官方示例:
https://github.com/junit-team/junit5/blob/main/documentation/src/test/java/example/SuiteDemo.java
对于我使用的以下套件 template:
@RunWith(JUnitPlatform.class)
@SelectPackages("com.services.configuration")
@ExcludeTags({IntegrationTags.JPA, IntegrationTags.REST})
public class UnitTestSuite {
}
@RunWith
是一个 JUnit 4 依赖,来自
compile "org.junit.platform:junit-platform-runner:1.0.2"
是否可以拥有不依赖 JUnit 4 的 JUnit 5 套件?以便我可以从我的依赖项中删除 JUnit 4?
不能用适当的 @ExtendsWith
扩展名代替吗?我只需要套房。
JUnitPlatform
运行ner 是一种执行为 JUnit 平台测试引擎编写的测试的方法,例如JUnit Jupiter 测试,使用 JUnit 4。它只是不支持新 JUnit 平台的工具的临时解决方案。
JUnit 平台有一个未解决的问题来添加对声明式套件的支持:https://github.com/junit-team/junit5/issues/744
目前,您可以继续使用 JUnit 4 到 运行 套件或定义自定义 Gradle 任务:
task unitTestSuite(type: Test) {
useJUnitPlatform {
excludeTags "JPA", "REST"
}
filter {
includeTestsMatching "com.services.configuration.*"
}
}
我在这里给出了类似的答案:
您现在可以 运行 完全使用 jUnit 5 引擎的套件:
import org.junit.platform.suite.api.SelectClasses
import org.junit.platform.suite.api.Suite
@Suite
@SelectPackages("com.services.configuration")
@ExcludeTags({IntegrationTags.JPA, IntegrationTags.REST})
public class UnitTestSuite {
}
您必须导入 junit-platform-suite-engine
:
https://search.maven.org/artifact/org.junit.platform/junit-platform-suite-engine
例如compile "org.junit.platform:junit-platform-suite-engine:1.8.0-RC1"
这里有一些文档:
https://junit.org/junit5/docs/snapshot/user-guide/#launcher-api-engines-custom https://junit.org/junit5/docs/snapshot/api/org.junit.platform.suite.engine/org/junit/platform/suite/engine/package-summary.html
这是一个官方示例:
https://github.com/junit-team/junit5/blob/main/documentation/src/test/java/example/SuiteDemo.java