如何从 unittest TestCase class 中声明的测试方法获取夹具值?
How to get fixture value from test method declared within a unittest TestCase class?
我的 google 搜索 here only shows this most-related answer ; though I can only have my code working for test method BUT NOT with unittest TestCase class method。
我的问题是如何从单元测试测试用例中声明的测试方法中获取夹具值 class?
我在这里引用代码片段
import pytest
from unittest import TestCase
@pytest.fixture()
def fx_return_value():
yield 'some returned value'
@pytest.mark.usefixtures(fx_return_value.__name__)
def test0(fx_return_value):
print(fx_return_value)
class Test1(TestCase):
@pytest.mark.usefixtures(fx_return_value.__name__)
def test1(self, fx_return_value): #TODO Error here > TypeError: test1() missing 1 required positional argument: 'fx_return_value'
print(fx_return_value)
pytest
和 unittest
是单独的测试框架,不应混合使用。您可以在 pytest
中使用测试 classes 以及 setup
和 teardown
方法,而不需要特定的基础 class.
因此,要解决您的问题,您只需从测试 class 中删除 unittest.TestCase
碱基。
我的 google 搜索 here only shows this most-related answer
我的问题是如何从单元测试测试用例中声明的测试方法中获取夹具值 class?
我在这里引用代码片段
import pytest
from unittest import TestCase
@pytest.fixture()
def fx_return_value():
yield 'some returned value'
@pytest.mark.usefixtures(fx_return_value.__name__)
def test0(fx_return_value):
print(fx_return_value)
class Test1(TestCase):
@pytest.mark.usefixtures(fx_return_value.__name__)
def test1(self, fx_return_value): #TODO Error here > TypeError: test1() missing 1 required positional argument: 'fx_return_value'
print(fx_return_value)
pytest
和 unittest
是单独的测试框架,不应混合使用。您可以在 pytest
中使用测试 classes 以及 setup
和 teardown
方法,而不需要特定的基础 class.
因此,要解决您的问题,您只需从测试 class 中删除 unittest.TestCase
碱基。