Общий класс - тестовые дублёры. Они делятся на моки, стабы и третье. То есть заглушка, если придираться, это не мок. Мок, напрмиер в отличии от заглушки нацелен больше на то, чтобы проверять вызвали ли его, с нужными ли параметрами его вызвали, сколько раз его вызвали, вот это всё. Заглушке на такие тонкости пофиг.
Я другое читал :) (и спрашивали).
— стаб (stub) это то что отдаёт данные вот в этот тест. У стаба нет состояния. Например, вернуть "молоток, 1"
— мок (mock) это объект посложнее, у которого есть состояние. Например, объект inventory — его можно наполнить на 1, 2, 3 молотка, он может быть пустой, с него можно запросить содержимое.
Проверять состояние и количество вызовов ни то ни другое не обязаны.
Можно реализовать, но не обязательно и не факт что нужно.