我第一次玩Junit 5(条件跳过(和jdk-11.01来忽略一些测试。我无法使用@Disable/@Enable来禁用测试用例。请分享如何让它发挥作用的想法?
示例:
@DisabledOnOs(OS.LINUX)
@EnableOnOs(OS.WINDOWS)
@DisabledForJreRange
https://www.baeldung.com/junit-5-conditional-test-execution
唯一仍然有效的排除是@Ignore标志。
我已经测试运行了一个测试套件;GitHub操作;或者使用Junit 5插件从IntelliJ本地执行,并且当测试标记为@EnableOnOs(OS.WINDOWS(时,即使满足条件(例如在Linux机器上运行测试(,测试仍然会执行!
示例测试:
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 ...
}
我还需要用什么来配置测试吗?
我还有这个:
来自grade.build中的dependences我有://https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-apitestCompile组:"org.junit.jupiter",名称:"junitjupiter-api",版本:"5.7.0">
在项目外部图书馆(intelliJ(我有:
> Gradle:junit:junit:4.1
我试图从项目中删除这个junit 4.1(如果有冲突的原因(,但它再次直接从Gradle刷新中弹出。我猜junit5用的是这个罐子。
> Gradle:org.junit.jupiter:junit-jupiter-api:5.7.0
是的,这绝对是Junit 4对Junit 5的迁移出错了。以下步骤帮助我实现了这一点。
如果你正在处理一个巨大的项目,这种自动更正是最受欢迎的(将所有标记和断言自动转换为junit5语法(:
https://github.com/junit-pioneer/convert-junit4-to-junit5
然后,您可能还需要修复本文中描述的一些项目问题:
在Android Studio 中运行参数化单元测试时,未找到给定的测试,包括错误
祝你好运!