我有一个简单的测试。在
def test_sample(str):
print str
并使用pytest_generate_tests(),例如
^{pr2}$现在如果我使用pythonxdist并行运行测试。我看到pytest_generate_tests()的调用次数取决于cmdline选项。在
在py.测试-n2-->打印“Entered pytest_generate_tests”两次。 这是正确的行为吗?我希望只有测试将在单独的线程中执行。在
环境: python 2.7 py.测试2.5.2款 pytest xdist 1.10版
是的,这是正确的。。。
pytest_generate_tests
是由使用的钩子py.测试在采集阶段,由每个从机执行,以获得要执行的测试(“测试项”)。哪个从机执行哪个测试项,而不是由启动测试会话的进程处理。在我还没有完全研究所有的内部结构,但我认为其中一个原因是您不能将测试项从一个进程发送到另一个进程,因为它们不可序列化。因此,这种方法是让每个从机自己进行收集,以获得测试项及其“测试ID”,然后这些测试项和“测试ID”可以作为通信手段在进程之间交换,这两个从机都应该执行每个测试,并报告测试结果。在
相关问题 更多 >
编程相关推荐