Как я могу сказать, что утилита Prol для Perl игнорирует определенные тесты?
В настоящее время я бегу prove
как это:
prove -v -r .
Есть ли способ исключить файлы с помощью регулярных выражений? Я не мог видеть это в perldoc prove
или вывод prove -H
,
1 ответ
Решение
Я обычно делаю что-то вроде этого:
$ find t/ -name '*.t' ! -name '*timeout*' | xargs prove -l
(пропускает медленные тайм-ауты)
Мне удалось это сделать с помощью подкаталога:
$ tree t/
t/
├── 01_tests.t
├── 02_tests.t
├── 03_tests.t
└── ignored
└── 01_ignored.t
Затем я делаю это, чтобы выполнить обычные тесты:
$ prove -v t/*.t
t/01_tests.t ........ ok
t/02_tests.t ........ ok
t/03_tests.t ........ ok
Result: PASS
И это для выполнения игнорируемых тестов в другом контексте:
$ prove -v t/ignored/
t/ignored/01_ignored.t ........ ok
Result: PASS
Простое и эффективное решение, если ваши тесты еще не хранятся в разных подкаталогах.
Чтобы упростить использование и документировать, как запускать тесты, я обычно помещаю их в Makefile
.