【问题标题】:spring boot multiple tests classes but only is executed when mvn package the appspring boot 多个测试类,但仅在 mvn 打包应用程序时执行
【发布时间】:2020-05-19 04:28:27
【问题描述】:

我有从 https://start.spring.io/ 生成的全新 Spring Boot 应用程序

我的问题是已经生成的测试类是唯一一个被执行的测试类,即使我添加了与生成的具有相同注释并且位于同一个包中的不同测试类。

spring boot 版本是:2.2.4

【问题讨论】:

  • 同一个包中的所有测试类都执行不都是默认行为吗?我只想运行所有类而不排除或包含。
  • 你能提一下你的测试类的注解和类声明吗?例如它扩展了哪个其他类?
  • 典型的spring boot从spring intializer生成的应用程序。下面JARgente提供的答案是正确的:)

标签: spring-boot maven junit


【解决方案1】:

我认为问题可能出在测试类的名称上。 默认情况下,maven 只在遵循此命名约定的类中执行测试:(简而言之,测试类必须以测试字开头或结尾)

默认情况下,Surefire 插件会自动包含所有具有以下通配符模式的测试类:

"/Test*.java" - 包括其所有子目录和所有 Java 以“Test”开头的文件名。 "/*Test.java" - 包括所有 它的子目录和所有以“Test”结尾的 Java 文件名。 “/*Tests.java” - 包括其所有子目录和所有 Java 以“Tests”结尾的文件名。 "/*TestCase.java" - 包括所有 它的子目录和所有以“TestCase”结尾的 Java 文件名。

如你所见

https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 2022-11-11
    • 2019-07-02
    • 2016-04-05
    • 2016-07-01
    • 2018-05-31
    • 2020-01-19
    • 2020-03-26
    • 2015-08-20
    相关资源
    最近更新 更多