Подтвердить что ты не робот

Как запустить один тест в scalatest из maven

Я не нашел никакой документации о том, как это сделать. Для JUnit эквивалент будет:

mvn -Dtest=org.apache.spark.streaming.InputStreamSuite test
4b9b3361

Ответ 1

Обратите внимание, что если у вас есть некоторые тесты Java в том же модуле, как и в большинстве случаев, вам нужно отключить их, что вы можете сделать, указав surefire, чтобы запустить тест, которого нет там

Вот тест, который я только что запускал

mvn test -Dtest=moo -DwildcardSuites=org.apache.spark.deploy.yarn.ClientSuite

Это пропускает тест java и запускает только scala.

Одна вещь, которая, по-видимому, не делает, - это позволить вам запустить один тест в пакете, как это делает maven surefire. Это не идеально, если у вас есть один неудачный тест в большом наборе.

[ Коррекция 2016-08-22: похоже, вы можете запросить определенный набор по имени; посмотрите на другие ответы ниже. С радостью ошибаюсь].

Ответ 2

Нашел ответ: это

-DwildcardSuites

Итак, вот пример командной строки:

mvn -pl streaming -DwildcardSuites=org.apache.spark.streaming.InputStreamSuite test

Ответ 3

Я нашел ответ отсюда, и он работает:(https://groups.google.com/forum/#!topic/scalatest-users/Rr0gy61dg-0)

запустите тест "ожидающий тест" в HelloSuite, и все тесты в HelloWordSpec:

 mvn test -Dsuites='org.example.
HelloSuite @a pending test, org.example.HelloWordSpec' 
  • выполните все тесты в HelloSuite, содержащие 'hello':

    mvn test -Dsuites='org.example.HelloSuite hello'

для более подробной информации: http://scalatest.org/user_guide/using_the_scalatest_maven_plugin