pytest fixture在课堂上没有被调用

时间:2017-03-20 19:27:16

标签: python unit-testing pytest fixtures

我最近开始研究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类,我无法理解它为什么表现不同。

任何有用的建议将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:3)

flask.ext.testing.TestCaseunittest.TestCase的子类。

如果您希望能够在单元测试中使用pytest灯具,请阅读:

Mixing pytest fixtures into unittest