加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:15:04 所属栏目:大数据 来源:网络整理
导读:在我为Test :: Class阅读的所有教程中,似乎有一个加载所有类的运行器脚本.我认为从Test :: Harness的角度来看,这只是一个巨大的考验.我不认为它可以并行化跑步者内部的测试. 我的X问题是我试图在测试子类时分解超类行为.每个子类都应该有自己的子类测试(可以
在我为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解释器中运行每个测试是提供有保证的隔离的更好方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读