有没有办法将python unittest作为多个进程运行。我已经对我的烧瓶应用程序实施了Selenium测试,但这需要很长时间,我认为同时运行测试会缩短时间。但是,单元测试无法通过多个进程执行,可能有一些解决方法吗?
尝试鼻子测试,称之为:
from nose.plugins.multiprocess import MultiProcess
if __name__ == '__main__':
nose.main(plugins=[MultiProcess()],
defaultTest=os.path.abspath(inspect.getfile(inspect.currentframe())), env={'NOSE_PROCESSES': 4})
但是现在跳过了一些测试(实际上我看到了一两个测试的输出),但是在输出结束时我有一行表示执行了零测试,为什么会这样?如果我在非多处理模式下开始鼻子测试,所有测试都会正常执行。
似乎pytest-xdist做了我需要的东西,但是在所有测试通过后进程都没有终止,为什么会发生?
更新:
所以我再次检查,似乎如果发生断言错误,那么在执行所有测试后pytest都会被冻结。但如果所有测试都通过了 - 那么它会成功终止可能导致这种情况的原因吗?