gpt4 book ai didi

java - JUnit 5 TestSuite 替代方案?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:31:42 25 4
gpt4 key购买 nike

我正在从 JUnit 4 迁移到 5,并决定将所有旧的 @Tests 重写为新的 org.junit.jupiter.api.Test。

我的目标是完全放弃旧的 junit4 依赖,只保留这些依赖:

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.0.1</version>
<scope>test</scope>
</dependency>

到目前为止,我已经重写了除 TestSuites 之外的所有内容,我用它来将所有测试集中到 4 个独立的套件中,可由 surefire 插件调用。

似乎 JUnit 5 根本不支持声明式套件,但确实有 @Tag 注释。

问题:

我如何创建某种只有 JUnit 5 东西的测试套件替代品,可以使用 maven-surefire-plugin ( <includes> ) 和可运行的 IntelliJ 调用?

最佳答案

尽管有丰富的 junit-platform-suite-api,但目前(2018 年 6 月)还不可能,因为平台中不支持 native 测试套件。相反,您必须使用依赖于 junit-4.12.jar 的 junit-platform-runner 来识别和运行套件。

@RunWith(JUnitPlatform.class)
@SelectClasses({Dog.class, Cat.class})
public class MyTestSuite {
}

但是,根据 this github issue, native 支持可能会出现在 1.3 版本的平台中.

我删除了所有测试套件以避免在我的项目中使用 junit 4。当新功能可用时,我会很高兴地再次创建它们。

关于java - JUnit 5 TestSuite 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46623128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com