10

是否可以使用同时(跨多个进程)nose运行单个测试并将结果汇​​总为单个通过/失败结果?

我们需要同时多次运行相同的测试,以确保资源锁定不受影响。如果鼻子不能做到这一点,是否有特定的测试/设计模式可以遵循来实现这一点?

4

2 回答 2

11

这似乎是您在测试定义本身中想要的东西,因为您想对结果的聚合进行断言。我会看看在测试中使用多处理。创建一个池以并行执行您的代码。您可以使用队列来聚合结果。

于 2011-01-12T08:21:35.907 回答
9

可以与鼻子同时运行测试

使用nose.plugin.multiprocess 插件,您可以跨可配置数量的工作进程并行化测试运行。虽然这可以加速 CPU 密集型测试运行,但它主要适用于 IO 密集型测试,因为它们大部分时间都在等待数据从其他地方到达,并且可以从并行化中受益。

我已经调整插件以根据需要并行运行单个测试。从http://paste.pocoo.org/show/319470/下载并保存为nose/plugins/repeat.py. 然后,在 中nose/plugins/builtin.py,将行添加('nose.plugins.repeat', 'RepeatMultiProcess'),builtins。像这样调用:

c:\python27\python nose-1.0.0\selftest.py --repeat-processes=2 --repeat-times=3 test2.py

注意:设置/拆卸支持可能会被破坏。如果是这样,修复很简单,请参见注释

于 2011-01-12T11:19:00.103 回答