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