Рассмотрим, что у нас в одной корневой папке, у нас есть 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.py pytest будет запускать приспособление setup и, наконец, teardown , определенное в conftest.py
Проблема в этихПриборы setup и teardown Я хочу запустить те тестовые классы pytest, которые определены в setup.py и teardown.py соответственно.
Обратите внимание :Выполнение этих тестовых классов должно выполняться как тестовый класс pytest, не похожий на общий экземпляр класса и сценарий вызова функции-члена, а также мы не можем касаться определения testsometing.py , что означает, что он не должен быть связан / импортирован с настройкой .py или teardown.py
Если вы можете предложить решение для Python 2.7, это было бы действительно полезно.Спасибо за внимание.