我有一组pytest集成测试,其布局如下:
def 001_setup():
# Set up backend data
def 002_do_first_thing():
# Use data from 001_set up and modify it
def 003_do_second_thing():
# Use changed data from 002
def 999_clean_up():
# Clean up all data from this set of tests
我遇到的问题是测试002
调用了一个长时间运行的API端点。完成并报告成功可能需要20秒以上。测试003
开始,我不能保证002
已经完成。在
如何更好地组织这组测试,使003
只在002
实际完成后才开始,而不用一堆time.sleep(20)
命令填充我的测试?在
理想情况下,你的测试功能对外界的了解越少,你的测试套件就越能在没有任何问题的情况下运行,这就是我所相信的。如果您真的必须按照您描述的方式运行,请查看pytest排序,看看这是否有帮助
https://pytest-ordering.readthedocs.io/en/develop/
相关问题 更多 >
编程相关推荐