示例:
@DisabledOnOs(OS.LINUX)
@EnableOnOs(OS.WINDOWS)
@DisabledForJreRange
https://www.baeldung.com/junit-5-条件测试执行
唯一仍然有效的排除是@Ignore标志。
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
...
@EnabledOnOs(OS.WINDOWS)
@Test
public void onlyRunOnWindowsTest() {
log.info("Test run on Windows env. only");
// more test code ...
}
为了使测试正常工作,我还需要配置什么测试吗?
我还有这个:
从gradle.build中的dependencis中,我有://https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api测试编译组:“org.junit.jupiter”,名称:“junit-jupiter-api”,版本:“5.7.0”
在项目外部库(intelliJ)中,我有:
> Gradle:junit:junit:4.1
我试图从project中删除这个JUnit4.1(如果有冲突原因的话),但是这个又直接从Gradle刷新中弹出。我猜junit5用的就是这个罐子。
> Gradle:org.junit.jupiter:junit-jupiter-api:5.7.0
是的,这肯定是一个错误的JUnit4和JUnit5迁移。下面的步骤帮助我实现了这个功能。
如果您正在处理一个巨大的项目,那么这种自动更正是最受欢迎的(将所有标记和断言自动转换为junit5语法):
https://github.com/junit-pioneer/convert-junit4-to-junit5
那么您可能还需要修复本文中描述的一些项目问题:
在Android Studio中运行参数化单元测试时,未发现给定包含错误的测试
祝你好运!
我发现Junit5从5.3版本开始就支持并行性,但我找不到任何关于如何使用csv源代码运行并行测试的参考。你有什么建议吗?
Gradle4.6增加了对JUnit5的支持。 只要我没有用于例如集成测试的另一个sourceset,这对我是有效的:我不知道如何在我的集成测试中启用。 我所能做的是让任务与新的JUnit5支持一起工作,但我的任务使用JUnit5控制台并从命令行运行测试。最后,我在gradle中放弃对JUnit5的支持,并回滚到使用JUnit5控制台进行两个测试。 除了之外,如何在其他任务上启用Gradle4.6
类似于这样: 对Docker来说这可能吗?
我试图刮一个页面与美丽的汤,有
右键点击Run可以很好地工作。我用 Intellijidea 2017.1.5, Gradle, JunitPlatformVersion='1.0.0-M6', JunitJupiterVersion='5.0.0-M6'
我遇到了无法使用Maven运行JUnit5测试的问题。在IDE中运行它们工作正常,但使用“mvn测试”会产生以下输出: 这是我的测试课程: pom: 我做了一些研究,我认为这可能与混合JUnit4和JUnit5特性有关,这导致maven surefire插件无法运行测试。然而,我找不到那些剩余的JUnit4特性可能在哪里。我将感谢任何帮助。