6

目前我prove这样运行:

prove -v -r .

有没有办法使用正则表达式排除文件?我看不到它perldoc prove的输出或输出prove -H

4

2 回答 2

4

通常会这样做:

$ find t/ -name '*.t' ! -name '*timeout*' | xargs prove -l

(跳过慢速超时测试)

于 2012-12-12T17:16:53.840 回答
1

我设法通过使用子目录来做到这一点:

$ 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.

于 2019-09-16T12:32:06.810 回答