Когда мне следует заглушить тип, создав «заглушку» вручную, а не использовать макетную структуру

StackOverflow https://stackoverflow.com/questions/2453460

  •  20-09-2019
  •  | 
  •  

Вопрос

Существуют ли обстоятельства, при которых предпочтительнее вручную создать тип-заглушку, а не использовать среду макетирования (например, Rhino Mocks) в момент тестирования.

В наших проектах мы используем оба этих подхода.Когда я смотрю на длинный список версий-заглушек объектов, я чувствую, что это добавит накладные расходы на обслуживание и отодвинет реализацию заглушки от точки тестирования.

Это было полезно?

Решение

Для целей автоматизированных модульных тестов макеты почти всегда являются лучшим вариантом.Поскольку они используют отражение для имитации объекта, они будут оставаться актуальными, когда вы вносите изменения.

Единственный раз, когда я создаю заглушку, это для интеграционного тестирования. Например, вы можете заглушить службу отправки SMS, чтобы вы могли запустить период интеграции/пользовательского тестирования без взимания платы за отправку SMS-сообщений (вместо этого сообщения сохраняются, поэтому они можно проверить).

Другие советы

Когда вы достигнете точки, когда заглушки отнимают слишком много времени на обслуживание, пришло время перейти к фреймворку-заглушке/макету.Так что я думаю, что вы уже сами дали ответ.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top