课堂内外的pytest灯具?

时间:2015-03-02 13:57:15

标签: fixtures pytest

如果夹具位于Class(bla0,bla1)的内部或外部,有什么区别?

@pytest.fixtures()
    def bla0()
    ...

class MyTest:
    @pytest.fixtures()
    def bla1()
        ...

    @pytest.mark.usefixtures("bla0", "bla1")
    def test ...

2 个答案:

答案 0 :(得分:2)

仅仅是可见性...... bla1只能用于MyTest中声明的测试方法。

答案 1 :(得分:2)

差异与函数和类方法之间的差异相同。第一个可以在文件范围内使用,另一个可以在类的范围内使用。

您可能正在寻找的是conftest.py文件,它允许您定义项目中所有测试文件(即Pyramid应用程序)中可用的灯具。它看起来像这样:

@pytest.fixture(scope='session', autouse=True) def method(): return 'foobar'

现在,此fixture可以在项目中conftest.py文件涵盖的所有测试类中使用。