perl – Can Test :: Class测试可以并行运行吗? (或如何分解超类测试)

前端之家收集整理的这篇文章主要介绍了perl – Can Test :: Class测试可以并行运行吗? (或如何分解超类测试)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我为Test :: Class阅读的所有教程中,似乎有一个加载所有类的运行器脚本.我认为从Test :: Harness的角度来看,这只是一个巨大的考验.我不认为它可以并行化跑步者内部的测试.

我的X问题是我试图在测试子类时分解超类行为.每个子类都应该有自己的子类测试(可以并行化),还可以运行从超类继承的行为.那是怎么回事?

编辑:我发现2007年的这两个帖子似乎暗示我要求的是不兼容/不可能的.从那时起的任何更新?

> http://www.hexten.net/pipermail/tapx-dev/2007-October/001756.html(推测Test :: Class支持并行性
> http://perlbuzz.com/2007/08/organizing-tests-with-testclass.html(暗示Test :: Class和Test :: Harness在意识形态上是独一无二的)

解决方法

Test :: Class本身不支持并行化.可能最简单的解决方案是为每个测试类(或测试类的逻辑组)分别使用.t运行程序,并使用例如 prove -j9.

如果您真的想并行运行所有测试,您可以编写一个简单的脚本来为每个测试类自动生成.t文件.您将失去在单个perl解释器中运行多个测试类的性能优势,但并行化可能会补偿额外的启动开销.而且我认为无论Test :: Class试图提供多少测试隔离,都无法保证在Perl中.一旦你开始利用修改符号表进行模拟等目的,你的测试将开始相互干扰,除非你总是得到正确的清理.在单独的perl解释器中运行每个测试是提供有保证的隔离的更好方法.

原文链接:https://www.f2er.com/Perl/172803.html

猜你在找的Perl相关文章