Как выполнить тесты, которые соответствуют только регулярному выражению? - PullRequest
38 голосов
/ 09 августа 2011

В sbt 0.10.1 я часто использую test-only, чтобы сузить количество моих тестов.

sbt> test-only com.example.MySpec

Однако я хочу сузить так, чтобы я запускал только те тесты, чье имя / описаниесоответствует регулярному выражению.Есть ли какой-то синтаксис для достижения чего-то подобного?

sbt> test-only .*someRexExp.*

Ответы [ 2 ]

50 голосов
/ 15 августа 2011

Полные регулярные выражения не поддерживаются testOnly.Подстановочные знаки поддерживаются, однако.

sbt> testOnly com.example.*Spec

Только звездочка * интерпретируется специально здесь, а не точки.При этом будут выбраны все тесты, начинающиеся с com.example. и заканчивающиеся Spec.

или просто все тесты Spec s:

sbt> testOnly *Spec

testOnly и другая информация о тестировании документируетсяздесь: http://www.scala -sbt.org / release / docs / Details-Topics / Testing

12 голосов
/ 25 мая 2015

В тесте кейсы можно сопоставить по их именам (вместо или в дополнение к именам классов комплектов), используя специфичные для каркаса аргументы бегуна .ScalaTest поддерживает совпадение подстроки с аргументом -z:

> testOnly -- -z insert
> testOnly *TreeSpec -- -z insert

. При этом все тесты выполняются с «insert» в их имени, тогда только совпадающие регистры в наборах, заканчивающихся на TreeSpec, как вы бы интуитивно.Вы также можете использовать -n TagName и -l TagName для включения или исключения соответственно тегов из поддержки тегов ScalaTest и -t для соответствия точному имени теста.

Specs2 поддерживает полные регулярные выражения Java с аргументом -ex:

> testOnly -- -ex ".*someRexExp.*"

-include и -exclude поддерживают функции тегирования Spec2.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...