Программное обеспечение для тестирования: подделка против заглушки

17

Существует немало писем о stub vs mocks, но я не вижу реальной разницы между подделкой и заглушкой. Может ли кто-нибудь осветить его?

    
задан zapadlo 24.07.2011 в 18:26
источник

3 ответа

24

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

Тем не менее, я попробую еще раз своими словами:)

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

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

ответ дан Thorarin 24.07.2011 в 18:53
источник
9

A поддельный имеет то же поведение, что и вещь, которую он заменяет.

A stub имеет «фиксированный» набор «консервированных» ответов, которые являются специфическими для вашего теста (ов).

A mock имеет множество ожиданий относительно сделанных вызовов. Если эти ожидания не выполняются, тест терпит неудачу.

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

    
ответ дан allyourcode 18.03.2014 в 02:58
источник
5

Это может помочь

ответ дан Aravind R. Yarram 24.07.2011 в 18:33
источник