【发布时间】:2019-06-06 07:21:30
【问题描述】:
问题是:
Manipulating external state in a test file reduces the possible parallelism of your test suite.
我正在测试的是精确地操纵外部状态(然后重置它)。
大部分时间我仍然希望并行运行。然后,我只想跳过会操纵外部状态的测试,这可能会使其他人失败。
所以我会通过检测并行条件来解决这个问题,然后跳过会操纵外部状态的测试,从而导致其他人失败。那可行吗?怎么样?
请注意,仅从脚本中解析环境变量 HARNESS_OPTIONS 不足以检测条件:例如,prove -j3 不会设置它。
更新
虽然有很多方法可以让您的测试脚本知道它正在并行线束中运行(请参阅下面 Brian 的回答),但我认为没有一种标准的方法这样做可能有(但在我的问题中没有正确表述)。
我在想类似的东西,嗯,嗯,我在你的(太棒了!)Effective Perl Programming 书中读到了,brian,类似 maintainer tests,而不是现在确定该术语,通常仅当您是模块的维护者时才运行该术语,而不是在用户计算机上安装期间。似乎记得有一个使用一些环境变量的约定。
【问题讨论】:
标签: perl testing parallel-processing