У меня есть интерфейс, как это:Как поднять событие при вызове метода с помощью Moq?
public interface IMyInterface
{
event EventHandler<bool> Triggered;
void Trigger();
}
И у меня высмеивали объект в моем модульном тестировании, как это:
private Mock<IMyInterface> _mockedObject = new Mock<IMyInterface>();
Я хочу сделать что-то вроде этого:
// pseudo-code
_mockedObject.Setup(i => i.Trigger()).Raise(i => i.Triggered += null, this, true);
Однако это не похоже, что Raise
доступен на интерфейсе ISetup
, который возвращается. Как мне это сделать?
Это письмо-для-письма именно то, что я имею в псевдокоде часть моего вопроса. Я спрашивал, потому что это недопустимый синтаксис; Вызов недоступен при вызове программы установки. – SoaperGEM
Да, это так. Какую версию Moq вы используете? Я тестировал его в своем коде, и он там. Ты просто сделал опечатку. Проверьте ссылку, которую я включил. – Nkosi
'Raise' делается на макет сам не настройки – Nkosi