Я пытаюсь протестировать API, но этот API зависит от запуска других сервисов. По сути, проблема в том, что я хочу протестировать API, но на самом деле не хочу запускать эти сервисы, они уже протестированы в других местах.
Вот основная разбивка того, что мы тестируем в общих чертах:
- У меня есть API, который делает
foo
Я хочу проверить bar
- Часть создания
foo
делает файл bar
- У меня много очень разных
foo
и много похожих bar
'
- Я не хочу делать новый
foo
каждый раз, когда хочу проверить bar
Я думал, но не пришел к выводу:
- Просто протестируйте
bar
, когда я сделаю foo
(но все bar
находятся в аналогичной службе и, вероятно, не должны тестироваться отдельно)
- На самом деле делать
foo
всякий раз, когда я делаю bar
(много времени, двойное тестирование, плохо для разделения проблем)
- Создать поддельную базу данных
bar
, которую вызывает API-тестирование (требует изменения в БД, не уверен в эффективности теста этого типа)
- Использовать магию безмятежности / огурца
Другие вопросы:
- Когда тесты запускаются, они имеют резьбу, поэтому я не могу гарантировать, что
foo
произойдет до bar
.