我最近开始研究python项目。在该项目中,我使用pytest编写测试用例。在那,我尝试使用pytest-fixtures并理解它的基本概念。
但是当我尝试在fixture
中使用这些灯具时,我发现在特定情况下使用class
有困难。
示例代码:
import pytest
from flask.ext.testing import TestCase
from flask_application import app
@pytest.fixture(scope="module")
def some_fix():
return "yes"
class TestDirectoryInit(TestCase):
def create_app(self):
return app
def test_one(self, some_fix):
assert some_fix == "yes"
当我运行此测试时,它给我一个错误:
TypeError:test_one()只需要2个参数(给定1个)
但是当我改变这段代码时有点像这样:
@pytest.fixture(scope="module")
def some_fix():
return "yes"
class TestDirectoryInit():
def test_one(self, some_fix):
assert some_fix == "yes"
现在这个测试用例已经过去了。由于扩展了TestCase类,我无法理解它为什么表现不同。
任何有用的建议将不胜感激!谢谢!
答案 0 :(得分:3)
flask.ext.testing.TestCase
是unittest.TestCase
的子类。
如果您希望能够在单元测试中使用pytest灯具,请阅读: