一些 ScalaTest 套件没有被执行
Some ScalaTest suites are not being executed
在 ScalaTest
签名后给出 class:
class GEMTests extends FunSuite with Matchers with BeforeAndAfterAll {
在其中我们有一些启用的测试,如下所示:
test("GEMFullPostal") {
// logic, logic, ..
}
为什么某个测试套件不会被执行?其他测试套件 运行 正确。
当我通过 Intellij 运行 测试套件时,它会 运行 给定的测试 - 由于不正确的 sql 语句而立即失败。但两者
mvn test
并且 Jenkins CI/CD 构建允许整个应用程序通过 scalatest。我可以在输出中看到 没有提到 那个特定的 class.
所以 .. intellij 将 class 识别为 ScalaTest,但它被 maven
命令行(包括 jenkins)跳过。这个测试套件可能 "special" 是什么?请注意,它与其他测试套件位于同一目录中, 自动成为 运行。
发现问题:在 pom.xml
中,scalatest
插件
有一个过滤机制
<plugin>
<groupId>org.scalatest</groupId>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<suffixes>(?<!Integration)(Test|Spec)</suffixes>
</configuration>
</execution>
因此解决方法是向该过滤器添加 Tests
扩展:
<suffixes>(?<!Integration)(Test|Tests|Spec)</suffixes>
在 ScalaTest
签名后给出 class:
class GEMTests extends FunSuite with Matchers with BeforeAndAfterAll {
在其中我们有一些启用的测试,如下所示:
test("GEMFullPostal") {
// logic, logic, ..
}
为什么某个测试套件不会被执行?其他测试套件 运行 正确。
当我通过 Intellij 运行 测试套件时,它会 运行 给定的测试 - 由于不正确的 sql 语句而立即失败。但两者
mvn test
并且 Jenkins CI/CD 构建允许整个应用程序通过 scalatest。我可以在输出中看到 没有提到 那个特定的 class.
所以 .. intellij 将 class 识别为 ScalaTest,但它被 maven
命令行(包括 jenkins)跳过。这个测试套件可能 "special" 是什么?请注意,它与其他测试套件位于同一目录中, 自动成为 运行。
发现问题:在 pom.xml
中,scalatest
插件
<plugin>
<groupId>org.scalatest</groupId>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<suffixes>(?<!Integration)(Test|Spec)</suffixes>
</configuration>
</execution>
因此解决方法是向该过滤器添加 Tests
扩展:
<suffixes>(?<!Integration)(Test|Tests|Spec)</suffixes>