Как запустить один тест в scalatest от maven
Я не нашел каких-либо документации о том, как это сделать. Для JUnit эквивалентом будет:
mvn -Dtest=org.apache.spark.streaming.InputStreamSuite test
3 ответа:
Я нашел ответ отсюда, и он работает: (https://groups.google.com/forum/#! тема / scalatest-пользователи/Rr0gy61dg-0)
Запустите тест 'a pending test' в
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
Обратите внимание, что если у вас есть некоторые тесты Java в том же модуле, как и большая часть spark, вам нужно отключить их-что вы можете сделать, сказав surefire запустить тест, которого нет
Вот тест, который я только что запустил
mvn test -Dtest=moo -DwildcardSuites=org.apache.spark.deploy.yarn.ClientSuite
, который пропускает тест java и запускает только scala.
Одна вещь, которую scalatest, кажется, не делает, - это позволяет вам выполнить один тест в наборе, как maven surefire. Это не идеально, если у вас есть один провальный тест в большом комплект.
[коррекция 2016-08-22 : похоже, вы можете попросить конкретный набор по имени; посмотрите на другие ответы ниже. Счастлив быть неправым].
Нашел ответ: это
-DwildcardSuites
Итак, вот пример командной строки:
mvn -pl streaming -DwildcardSuites=org.apache.spark.streaming.InputStreamSuite test
Обновить новые версии
scalatest
использовать-Dsuites
Таким образом, синтаксис будет следующим:
mvn -pl streaming -Dsuites=org.apache.spark.streaming.InputStreamSuite test