不执行类中的Pytest fixture

时间:2017-10-08 00:14:22

标签: python pytest

我试着评估下面的代码,但是夹具方法'newFix'甚至没有被评估,所以当我使用下面的命令尝试执行时,控制台没有打印'这是执行'

  

pytest -v --capture = no

但是Test1和Test2都返回了传递。它应该在每次测试之前打印'This was executed'。但是如果我删除类行,并使函数通用,那么执行fixture方法'newFix'。知道为什么它不在课堂内执行吗?请指教。

import pytest

class TestClass:

    @pytest.fixture()
    def newFix():
        print('This is executed')

    def test_Test1(newFix):
        assert True

    def test_Test2(newFix):
        assert True

1 个答案:

答案 0 :(得分:1)

测试是非静态方法,因此应将它们定义为

def test_Test1(self, newFix):
    # Unit test here