一些 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>(?&lt;!Integration)(Test|Spec)</suffixes>
                    </configuration>
                </execution>

因此解决方法是向该过滤器添加 Tests 扩展:

<suffixes>(?&lt;!Integration)(Test|Tests|Spec)</suffixes>