В Википедии есть статья , касающаяся ложных объектов , но терминология не объясняется так хорошо, как могла бы быть.Мы привыкли делать это различие (которое, конечно, может быть предметом обсуждения):
Макеты и заглушки имитируют объект, необходимый для тестирования компонента.
Слово "макет"используется, когда вы хотите утверждать, что имеет место определенный тип взаимодействия между тестируемым компонентом и проверяемым объектом.Вот почему фиктивные фреймворки (такие как EasyMock) предоставляют методы, чтобы утверждать, что все ожидаемые вызовы действительно были выполнены.НапримерВы хотите увидеть , что ваша служба фактически вызывает (поддельное) DAO.Поэтому этот вызов является частью ваших условий / утверждений теста.
Однако слово «заглушка» используется, когда вы просто пытаетесь предоставить реализацию, которая помогает тестировать ваш компонент.Какое взаимодействие происходит, не имеет значения, вы просто хотите, чтобы заглушка заполнила пробелы, чтобы вы могли протестировать свой компонент.Ваше внимание сосредоточено на проверенных компонентах и на том, что они делают.
Так что это всего лишь два слова для одной и той же вещи, в зависимости от того, чего вы пытаетесь достичь с ее помощью.