Как я могу сказать, что утилита 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.

Другие вопросы по тегам