Некоторые наборы ScalaTest не выполняются

#scala #scalatest

#scala #scalatest

Вопрос:

Задан класс, следующий за ScalaTest подписью:

 class GEMTests extends FunSuite with Matchers with BeforeAndAfterAll {
  

И внутри него у нас есть несколько включенных тестов, подобных этому:

 test("GEMFullPostal") {
   // logic, logic, ..
}
  

Почему определенный набор тестов не должен выполняться? Другие наборы тестов выполняются правильно.

Когда я запускаю набор тестов через Intellij, он выполняет данный тест, который быстро завершается неудачей из-за неправильного оператора sql. Но оба

   mvn test
  

а сборка Jenkins CI / CD позволяет всему приложению проходить scalatest . Я вижу в выходных данных отсутствие упоминания об этом конкретном классе.

Итак .. intellij распознает класс как ScalaTest, но он пропускается maven командной строкой (включая jenkins). Что может быть «особенного» в этом наборе тестов? Обратите внимание, что он находится в том же каталоге, что и другие наборы тестов, которые выполняются автоматически.

Ответ №1:

Обнаружена проблема: внутри pom.xml есть механизм фильтрации для scalatest плагина

         <plugin>
            <groupId>org.scalatest</groupId>
            <executions>
                <execution>
                    <id>test</id>
                    <goals>
                        <goal>test</goal>
                    </goals>
                    <configuration>
                        <suffixes>(?amp;<!Integration)(Test|Spec)</suffixes>
                    </configuration>
                </execution>
  

Итак, исправление заключается в добавлении Tests расширений к этому фильтру:

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