Я пытаюсь поделиться областью видимости класса и метода для разных классов, используя pytest. В настоящее время я получаю синтаксическую ошибку, если пытаюсь добавить осветитель из другого класса, как показано ниже.
Я знаю, что один из способов обойти это - не включать в класс устройство. Тем не менее, включение приборов имеет смысл для того, что я пытаюсь сделать.
import pytest
class Test_example1(object):
@classmethod
@pytest.fixture(scope='class')
def example1_fixture(self):
print("example1_fixture setup")
yield
print("example1_fixture teardown")
def test_1(self, example1_fixture):
print("class example1::test_1")
# This works if I comment out the code causing errors
@pytest.fixture(scope='class')
def global_example_fixture():
print("global_example_fixture setup")
yield
print("global_example_fixture teardown")
class Test_example2(object):
@pytest.fixture(scope='class')
def example2_fixture(self):
print("example2_fixture setup")
yield
print("example2_fixture teardown")
# Results in fixture not found error
def test_1(self, example1_fixture):
print("class example2::test_1")
# Results in syntax error
def test_2(self, Test_example1.example1_fixture, global_example_fixture):
print("class example2::test_1")
# This works...
def test_2(self, example2_fixture, global_example_fixture):
print("class example2::test_2")
Я ожидаю, что смогу вызывать привязки уровня класса и уровня метода для всех классов.