Мне нужно создать несколько модульных тестов, которые подтверждают, что экземпляр класса соответствующим образом реагирует на событие, вызванное другим объектом. Передача макета «наблюдаемого» объекта достаточно проста, но, насколько я могу судить, макеты в nunit не дают средств, чтобы макет вызывал событие.
Я рассматриваю возможность использования отражения, чтобы напрямую вызывать обработчик событий для объекта, который я тестирую, передавая ссылку на макет как «отправителя», но это не позволяет эффективно проверить, что мой объект правильно перехватил события в первое место (хотя сейчас я думаю об этом, в любом случае это, вероятно, следует проверить отдельно).
Это кажется чем-то вроде взлома, но я не вижу другого способа сделать это; Есть ли способ лучше? Кроме того, может ли макет проверить, что событие перехвачено?