2016-09-23 1 views
0

Можно ли гарантировать, что никакие тесты не свяжутся с внешним источником? Хотя я думаю, что все мои тесты позаботились о том, чтобы издеваться над любыми внешними зависимостями, я хотел бы знать, есть ли какой-либо улов, чтобы убедиться, что у моего тестового набора нет какой-либо непреднамеренной связи с сторонними API и так далее.Как сохранить тесты PHPUnit внутренними, без внешней связи?

+0

Как вы общаетесь с внешним источником? Если вы завернете его с помощью guzzle (клиентской библиотеки HTTP), вы можете легко издеваться (сообщите мне, если вам нужна помощь). – Matteo

+0

Есть много вещей, которые в конечном итоге обмениваются сообщениями/слушателями/заданиями, сокетами, apns push, aws и сторонними API. Хотя я издеваюсь над тем, что, по моему мнению, необходимо в базовом тестовом примере, как я уже упоминал выше, я спрашиваю, есть ли какие-либо уловки, не обеспечивающие внешнего общения во время тестов. –

ответ

1

Поскольку это помечено как Laravel, я собираюсь предположить, что вы предпочтете ответ, основанный на Laravel.

Предполагая, что вы не проверяете связь с внешним API (что стоит сделать в какой-то момент), вам захочется приблизиться к нему так же, как вы подходите к чему-либо еще.

Mocking.

Обе модели и ваша библиотека API взаимодействуют с источником данных. Чтобы проверить свои модели, вы издеваетесь над ними, чтобы вы не взаимодействовали с базой данных. Вам нужно сделать то же самое для своего API, высмеять класс, который возвращает результат, или пропустить его полностью и добавить пример ответа.

Все зависит от того, что вы тестируете. Если вы не хотите проверять, как обрабатываете данные из API, просто не вызывайте ничего, что взаимодействует с API.

+0

Я все равно издеваюсь над всем, насколько я знаю, я не уверен, могу ли я уточнить свой вопрос, но я больше ищу резервную копию, чтобы убедиться, что ничего не пропало. –

+1

Нет резервной копии, вам просто нужно проверить свой код. Не удаляя соединение с внешним миром на сервере, ничего не поделаешь. – ollieread

+1

Я так много думал, и все, кажется, насмехалось. Я просто подумал, что стоит проверить. –

Смежные вопросы