我试着评估下面的代码,但是夹具方法'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
答案 0 :(得分:1)
测试是非静态方法,因此应将它们定义为
def test_Test1(self, newFix):
# Unit test here