如果夹具位于Class(bla0,bla1)的内部或外部,有什么区别?
@pytest.fixtures()
def bla0()
...
class MyTest:
@pytest.fixtures()
def bla1()
...
@pytest.mark.usefixtures("bla0", "bla1")
def test ...
答案 0 :(得分:2)
仅仅是可见性...... bla1
只能用于MyTest
中声明的测试方法。
答案 1 :(得分:2)
差异与函数和类方法之间的差异相同。第一个可以在文件范围内使用,另一个可以在类的范围内使用。
您可能正在寻找的是conftest.py
文件,它允许您定义项目中所有测试文件(即Pyramid应用程序)中可用的灯具。它看起来像这样:
@pytest.fixture(scope='session', autouse=True)
def method():
return 'foobar'
现在,此fixture可以在项目中conftest.py
文件涵盖的所有测试类中使用。