目前我像这样运行prove
:
prove -v -r .
有没有办法使用正则表达式排除文件?我在perldoc prove
或prove -H
的输出中看不到这一点.
我通常做这样的事情:
$ 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
中。