Прежде всего, убедитесь, что вы знаете разницу между Функциональным тестированием и Интеграционным тестированием .Вы можете сделать довольно хороший функциональный анализ без больших усилий, которые требуются для интеграционного тестирования (создание веб-сервисов, доступ к базе данных).В основном, метод Mocking работает довольно хорошо, даже для имитации ответов уровня данных и поведения веб-службы (я считаю, что такие детали, как HTTP как транспорт могут быть проигнорированы в большинстве тестовых случаев)
Для такого интеграционного тестирования Я бы предложил иметь отдельную среду SIT, которая также включает в себя отдельную веб-службу и базу данных.
Если веб-служба является независимым экземплярому него всегда есть живые производственные данные, которые я перезагружаю вручную (возможно, сбрасывается каждый раз, когда я запускаю их экземпляр)?
Да, они должны быть полностью разделены, но данные могут быть сгенерированы / подготовлены вручную.Например, вы можете подготовить некоторый набор данных, который позволяет тестировать некоторые предопределенные тестовые наборы, это могут быть тестовые наборы данных, которые развертываются в экземпляре SIT DB до фактического запуска теста, а затем очищаются в тестовом TearDown.
Должен ли веб-сервис настраиваться и отключаться при каждом тесте?
Да, тесты должны быть изолированными друг от друга, поэтому не должны влиять на каждого в любомспособ.