Этот вопрос является продолжением моего предыдущего вопроса, здесь
Я хотел бы определить прибор, который будет выполнять функцию для каждого из его параметров, прежде чем вернуть его мне .
Однако эта функция не может быть запущена без проверки другой функции проверки, поскольку проверка не может быть выполнена без файловой системы.
Вот как это выглядит в настоящее время:
mocked_validation = mock.Mock() mocked_validation.return_value = True
@pytest.fixture(params = GAMELIST_ROOT_VALUES) def basic_parser(request):
return GameListParser(request.param)
@pytest.fixture @mock.patch('organizer.parser.game_list_parser.GameListParser.validate', mocked_validation) def ready_parser(basic_parser):
basic_parser.parse()
return basic_parser
Тем не менее, во время проверки устройство не будет работать при вызове basic_parser.parser ().
Я использую этот макет для тестов, он работает хорошо, поэтому он должен быть связан с тем фактом, что он в приспособлении.
Есть ли в любом случае, чтобы сделать это? Я не буду sh повторять эту строку кода для каждого теста
Это можно проверить с помощью следующего класса:
class GameListParser(object):
def __init__(self, value):
self.value = value
def parse(self):
if not self.validate():
raise Exception("Parsing fail")
def validate(self):
return False
Редактировать: добавить еще одну попытку, но все равно не удается:
@pytest.fixture
def ready_parser(basic_parser):
with mock.patch('organizer.parser.game_list_parser.GameListParser.validate') as validation:
validation.return_value = True
basic_parser.parse()
return basic_parser