我已经创建了一个测试类生成器:
import pytest
def t_1(self):
print("1")
assert True
def t_2(self):
print("2")
assert True
def t_3(self):
print("3")
assert True
new_cls = type("TestClass", (),
{
"test_1": t_1,
"test_0": t_2,
"test_2": t_3
})
TestClass = new_cls
输出(python3 -m pytest -s test.py
)是:
1
2
3
我的问题:在这些情况下,如何确定测试的顺序?例如,如果我使用的函数是在其他模块(或函数)中定义的,我怎么知道这些测试将以什么顺序执行?
答案 0 :(得分:2)
首先,您的程序包按字母顺序排序,然后测试模块,测试类,最后是测试功能。
我建议避免使用依赖测试,因为这可能会导致某些问题。
如果要应用自己的排序,请尝试使用“ pytest_collection_modifyitems”钩子或“ pytest-ordering”之类的插件。