2017-01-30 4 views
0

У меня есть подпроект sbt, который включает в себя тесты конца года. Они запускаются как e2e: test. Я определил свою конфигурацию как Я определил тег в том же подпроекте. object HealthCheckTest extends Tag("HealthCheckTest")Выполнять только тегированный тест в sbt пользовательской тестовой задаче

Я мечения часть моего конца до конца испытания с HealthCheckTest следующим образом:

it("should be able to verify the data", HealthCheckTest)

Я хочу запустить только проверку работоспособности тестов из командной строки. Я пытаюсь сделать это с помощью:

СБТ «проекта e2e» E2E: testOnly - -n HealthCheckTest

, но это приводит к все тесты E2e запускаемых. Я попытался дать полный путь к тегу (com.s.p.e2etests.HealthCheckTest), но это тоже не сработает.

Иногда я получаю предупреждения о - и - устаревании; однако вся документация в Интернете говорит о том, чтобы использовать этот синтаксис, включая скалярные документы.

Как я могу запустить только теги e2e с тегами?

Я также попытался создать отдельную задачу для проверок работоспособности, но мог только выяснить, как фильтровать на основе имени тестового класса, а не тегом.

ответ

1

В командной строке, которую вы опубликовали, отсутствовали кавычки. Попробуйте так:

sbt 'project e2e' 'testOnly -- -n HealthCheckTest' 

В sbt исполняемых рассматривает каждый аргумент, как сплошную линию, чтобы запустить в консоли sbt, так что вы должны поставить кавычки вокруг каждой полной линии.

Обратите внимание, что, хотя это не будет запускать тестовые примеры, оно будет все еще создает экземпляр класса тестирования и распечатывает имена тестовых примеров.

+0

Привет, я попробовал это сейчас, но он игнорирует мой тег и не запускает никаких тестов. Однако в командной строке будут перечислены все тесты. Я попытался указать имя тега, а также полный путь к тегу, как указано выше. [info] Запуск завершен на 313 миллисекунд. [info] Общее количество тестов: 0 [info] Апартаменты: завершено 4, отменено 0 [info] Испытания: преуспел 0, не удалось 0, отменено 0, проигнорировано 0, ожидается 0 [info] , –

+0

Является ли «HealthCheckTest» в пакете? Вам нужно использовать полное имя объекта ('com.foo.bar.HealthCheckTest'). – jkinkead

+0

Привет, спасибо, что вернулись. Я тоже пробовал это и не имел успеха - он заканчивает выполнение всех тестов из всех подпроектов в моем проекте без фильтра. –

Смежные вопросы