Задумывались ли вы, действительно ли это то, что вы хотите? Смысл тестовых наборов заключается в тестировании всех компонентов, а затем их взаимодействия. Если у вас есть хорошие модульные тесты, то имитация мало чем отличается от использования данных prod в ваших интеграционных тестах.
Причина, по которой я спрашиваю, заключается в том, что использование реальных данных может иногда иметь непредвиденные последствия. Моя команда делала все наши сервисные звонки, потому что мы думали, как вы, мы хотели проверить реальные вещи. По мере роста нашего проекта время, необходимое для проведения испытаний, стало астрономическим. Затем член команды должен был посвятить много времени поиску всех этих вызовов и насмешкам над ними, чтобы мы могли своевременно создать свой код. (Это было в рельсах, но у нас была куча сценариев сборки, которые перетаскивали все наши ресурсы в наши стеки продуктов, переводили наши строки в службу перевода, проверяли, что все тесты пройдены и т. Д.)
Мой совет: пишите надежные модульные и функциональные тесты, а затем доверяйте имитационным данным для интеграционных тестов.