Итак, продолжая выполнять свое новогоднее намерение получить больше от TDD, теперь я начинаю больше работать с Rhino Mocks .
Одна вещь, которую я очень хочу сделать, - это убедиться, что я действительно понимаю то, к чему я вхожу, поэтому я хотел проверить свое понимание того, что я видел до сих пор (и я подумал, что было бы неплохо поднять это здесь как ресурс).
Что такое «заглушка»?
unit-testing
testing
tdd
stub
Роб Купер
источник
источник
Ответы:
Мартин Фаулер написал прекрасную статью на эту тему. Из этой статьи:
Проще говоря: имитирующие объекты «ожидают» вызова определенных методов и обычно приводят к сбою модульного теста, если их ожидания не оправдываются. Объекты-заглушки предоставляют стандартные ответы (и могут быть автоматически сгенерированы вспомогательными библиотеками), но, как правило, напрямую не вызывают сбой модульного теста. Обычно они используются только для того, чтобы тестируемый объект получал данные, необходимые для выполнения своей работы.
источник
«Заглушка» - это реализация интерфейса, который существует для предоставления данных / ответа определенного вида. Например:
Обычно это предоставляется другой службой (будь то веб-служба, другое приложение, база данных), но для того, чтобы улучшить тестируемость кода, результаты «подделывают».
Основным преимуществом этого является то, что он позволяет делать утверждения в модульных тестах на основе ожидаемых данных. Если ошибки возникают из-за ошибок данных, тогда можно легко добавить тесты, создать новую заглушку (реплицирующую ошибку данных) и создать код для исправления ошибки.
Заглушки отличаются от макетов тем, что они используются для представления и тестирования состояния объекта, тогда как макет проверяет его взаимодействие .
источник
Я считаю, что «заглушка» исходит от STartUpBlock. он используется для обозначения частей кода, которые автоматически генерируются, чтобы помочь вам, разработчику, начать работу.
источник
«Заглушка» или «метод-заглушка» предназначены для использования в качестве начального кода или временной замены кода, который еще предстоит разработать. Это встроенный код, созданный IDE. Методы-заглушки - это фактически методы, используемые для тестирования методов определенного класса. Он используется путем ввода некоторых значений локальных переменных в ваши фактические методы разработки и проверки правильности вывода. Это важно для поиска ошибок в вашем коде.
источник
Недавно я столкнулся с вопросом и понял, что это сравнение между заглушкой и драйвером действительно ясное и полезное:
По сути, заглушки и драйверы - это процедуры, которые на самом деле ничего не делают, кроме объявления себя и параметров, которые они принимают. Затем остальная часть кода может принимать эти параметры и использовать их в качестве входных данных.
От разницы между заглушкой и драйвером
источник
После некоторого исследования и на основе файлов-заглушек, с которыми я столкнулся во время своей жизни программиста, я бы сказал, что файл-заглушка - это просто файл, который содержит всю или часть реализации файла. Это помогает разработчикам начать кодирование.
источник