考虑到我们在同一根文件夹中,我们有 conftest.py,setup.py,teardown.py和testsomething.py
#conftest.py
----------------------
import pytest
import setup // from setup import Test_Setup
import teardown // from teardown import Test_Teardown
@pytest.fixture(scope='module', autouse=True)
def t(request):
t = getT()
request.addfinalizer(t.cleanup)
return t
@pytest.fixture(scope='module', autouse=True)
def setup(t):
// Here I want to execute class "Test_Setup" as pytest class
@pytest.fixture(scope='module', autouse=True)
def teardown(t):
yield
// Here I want to execute class "Test_TearDown"as pytest class
#setup.py
----------------------
class Test_Setup:
def test_creation(self, t):
//test codes
def test_setp1(self, t):
//test codes
def test_step2(self, t):
//test codes
#teardown.py
----------------------
class Test_Teardown:
def test_Reset(self,t):
// some cleanup code
#testsomething.py
----------------------
class Test_Something:
def test_1(self,t):
// some cleanup code
def test_2(self,t):
// some cleanup code
我们知道在运行测试类及其在testsomething中的功能之前。pytest将运行夹具设置,最后运行 conftest.py 中定义的拆卸。
问题在这些 setup 和 teardown 设备中,我想分别运行setup.py和teardown.py中定义的pytest测试类。
请注意:那些Test类的执行应作为pytest Test类执行,这与常规类实例化和调用成员函数方案不同,我们也无法触摸 testsometing.py 定义,这意味着它不应该与 setup.py 或 teardown.py
相关/导入。如果您可以为python 2.7提供解决方案,那将非常有帮助。 谢谢您的考虑。