Ваш тест не проверяет какой-либо код от вас, он просто проверяет, работает ли свободная копияВы не можете протестировать интерфейс.
Ваш код не генерирует, потому что вы используете свободный макет (по умолчанию), который ничего не делает и просто возвращает ноль для любого вызова без установки.Вы передаете List<UpdateCommand>
вызову, настроенному с помощью It.IsAny<IList<ICommand>>()
, который не соответствует, поэтому ваш .Throws()
никогда не выполняется, а вместо него возвращается null
.
Не издевайтесь над классомтестируется, потому что тогда вы вообще ничего не тестируете.
Итак, вы хотите проверить свою реализацию:
var dispatcher = new YourDispatcher():
dispatcher.Dispatch<UpdateCommand>(commandslist[0]);
dispatcher.Dispatch<UpdateCommand>(commandslist);