2015-04-22 2 views
2

Я понимаю, что с издевательскими фреймами мы можем переопределить поведение объектов. Это делает тест проще и быстрее. Моделирование поведения объектов в производственной среде может быть хорошим. Но тогда возникает вопрос насмехается не только за разработчика? в конце функциональный тест (который является реальным миром) показывает нам, что прошло или не удалось. Так зачем продлевать жизнь? Зачем беспокоиться насмехаясь над объектом, чтобы узнать, что он даже не работает в производстве. Зачем ждать, пока функциональный тестер не узнает, что коды не работают. Если бы мы не издевались, а вместо этого использовали реальный тест, мы могли бы найти ошибки сразу, вместо того чтобы угодить насмехаться. Это был аргумент, представленный мне, и он может быть философским, но каковы ваши мысли о насмешливых фреймворках против тестирования в реальном мире.Mocking framework против функционального тестирования, зачем насмехаться?

ответ

3

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

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

Я подозреваю, что все еще собирается пройти несколько лет, прежде чем большинство разработчиков поделятся этим взглядом. Даже сегодня создание (и запуск) «реальных» интеграционных тестов часто сложнее, чем просто издевательские зависимости, из-за отсутствия хорошей поддержки инструментальных средств для таких тестов; слишком часто, просто «обманывать» и создавать кучу модульных тестов с насмешкой, а не брать на себя задачу создания реальных тестов, которые действительно реализуют код более реалистичным образом.