Я довольно новичок в модульном тестировании и py.test.Рекомендации по созданию лучших инструментов py.test
У меня есть вопрос о тестировании. Мне нужно форматировать данные, которые поступают из веб-служб. Эти данные (xml, json или что-то еще) необходимо обработать, часть необходимо извлечь и вернуть в виде встроенного типа python (список, dict, collection, ...).
Если мне нужно создать тестовый метод, который бы проверял, хорошо ли сформированы данные, нужно ли использовать приборы, которые поступают непосредственно из веб-служб, или мне нужно создать мои приборы из представления данных, предоставленных из веб-сервисы?
Например:
tests.py
def test_well_formated_data(the_fixture):
assert isintance(formatting_method(the_fixture), list)
# and other assertion...
conftests.py
@pytest.fixture
def the_fixture()
return Webservices.connect()
Или для представления:
@pytest.fixture
def the_fixture()
# Here is the same string returned by the webservices
# each time it's called
return "{'foo': [ 'bar', 'spam', 'egg']}"
В некоторых книгах или учебник я имею читать, purpo se проверяет, обрабатывается ли вход и возвращается, как ожидалось. Для ввода достаточно «моментального снимка» данных на данный момент.
Так что я создаю приспособление из «неизменяемых» данных и не знаю об измененных данных, отправляемых веб-службами, или мне нужно создать приспособление, которое будет в данном случае ближайшим к реальности, но с риск быть слишком зависимым от внешнего поведения (например, ошибка 404, 500)?
Заранее спасибо.
Хорошо спасибо, так что, как я думал, мне нужно создать фрагмент данных, который похож на оригинал. – Moerin