【问题标题】:IT are no longer executed with failsafe plugin after migrating to Spring Boot 2.4.0迁移到 Spring Boot 2.4.0 后,IT 不再使用故障安全插件执行
【发布时间】:2020-11-30 12:51:11
【问题描述】:

我有一些使用故障安全插件运行的集成测试。 这在 Spring Boot 2.3.5.RELEASE 之前一直有效,但在迁移到 2.4.0 后,不再执行 IT。

  1. 有人遇到同样的问题吗?

  2. 如何调试故障安全以找出未执行测试的原因?

【问题讨论】:

  • 关于如何调试 Maven Failsafe 插件,应该可以通过将 -Dmaven.failsafe.debug 添加到您的 maven 配置中,然后在 localhost 和端口 5005 上配置远程调试器配置。这个 SO thread 描述了如何做它适用于 IntelliJ。通过添加“远程 Java 应用程序”配置,在 Eclipse 中应该可以使用类似的方法
  • 嗨,Tarek,通过调试,我的意思是获取一些信息,其中故障安全正在搜索测试类,以了解为什么它没有任何问题
  • 对,在这种情况下,添加以下标志之一可能会有所帮助 -X,--debug,-e,--errors
  • 我加-X可以看到testClassesDirectory是正确的。但它不执行任何操作

标签: java spring-boot maven-failsafe-plugin


【解决方案1】:

问题在于 IT 是 Junit4 测试,而 Spring Boot 2.4.0 删除了老式的 Junit 依赖项。

我必须添加以下依赖项。

<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

【讨论】:

  • 将 Maven Failsafe 插件从版本 2.22.2 升级到 3.0.0-M5 对我来说也很有效。
【解决方案2】:

对我来说,我“更新”了我的 IT 测试,因此它使用 Junit 5 样式导入。还有故障安全插件版本 -> 3.0.0-M5

现在它们运行了。

与其默默地不运行,哎呀。

【讨论】:

  • 真是个陷阱!感谢分享。
猜你喜欢
  • 2016-02-15
  • 1970-01-01
  • 2017-08-07
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
相关资源
最近更新 更多