如何在运行多线程测试之前使用python正确执行全局夹具?

时间:2014-07-19 12:53:42

标签: python unit-testing pytest xdist

我有一组200个单元测试,当使用py.test在单个线程上执行时,它运行正常。

我确实有一个正在配置网络服务器的工具,所以我可以针对它运行测试。

但是,我需要确保在执行所有其他测试之前只运行一次,如果失败则必须停止整个过程。如果成功,它可以在所需的线程上执行测试。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

目前,你必须在pytest-xdist之外实现它,因为它没有办法协调整个testrun"灯具。也许启动一个使用文件锁定的脚本,只执行一次服务的启动。至于pytest-xdist,这里有一个关于testrun夹具的讨论:https://bitbucket.org/hpk42/pytest/issue/252/allow-fixtures-to-execute-only-once-per