我有一个基于 Perl 的测试套件,其中包含 10,000 多个测试,我想让它们运行得更快。我已经使用-j
to 标志进行了测试prove
,我发现我的大多数但不是所有的测试都准备好并行运行。
虽然我可以努力使剩余的测试“并行友好”,但我希望总有一些测试不是。有什么好的方法来管理这个?我希望它可以轻松高效地运行整个测试集,并在需要时轻松将测试标记为“未准备好”。
以下是我看到的一些选项:
- 可以对证明进行修补以支持某些未并行准备的测试
- Jenkins 被用来管理测试套件的运行。我可以将非并行测试拆分为他们自己的运行。换句话说,放弃并使用两次测试运行。
- 也许有一种方法可以将两个
TAP
我尚未恢复的结果流合并在一起。
我不太关心如何管理例外列表。我可以在文件中保留一个列表作为测试工具基础设施的一部分,或者我可以在每个测试标头中放置一些东西来标记它,我们的测试工具可以动态确定异常列表。
(测试套件部分基于 Test::Class,我还将查看 Test::Class::Load 以加快它的速度。)