Используя Moq и смотрел на Callback
но я не смог найти, что простой пример понимает, как использовать его.
У Вас есть маленький рабочий отрывок, которые ясно объясняют, как и когда использовать его?
Трудно превзойти https://github.com/Moq/moq4/wiki/Quickstart
Если это недостаточно ясно, я ' d вызовите эту ошибку документа ...
РЕДАКТИРОВАТЬ: В ответ на ваше разъяснение ...
Для каждого выполняемого имитируемого метода Настройка
вы можете указать такие вещи, как:
Механизм .Callback
говорит: «Я не могу описать это прямо сейчас, но когда случится звонок подобного рода, перезвони мне, и я сделаю то, что нужно сделать ». В рамках той же самой цепочки вызовов вы можете управлять возвращаемым результатом (если таковой имеется) через .Returns
". В примерах QS примером является то, что они увеличивают возвращаемое значение каждый раз. .
В общем, вам не понадобится такой механизм очень часто (в тестовых шаблонах xUnit есть термины для антипаттернов, подобных условной логике в тестах), и если есть более простой или встроенный способ установить, что вам нужно, его следует использовать предпочтительно.
Часть 3 из 4 в серии Moq Джастина Этериджа охватывает это, а здесь есть еще один пример обратных вызовов