MS测试单元测试引发了事件内容

时间:2012-07-30 18:38:15

标签: c# visual-studio-2010 events moq mstest

我正在使用 Microsoft的Visual Studio测试工具 Moq 进行单元测试。我有一个引发事件的方法,我需要验证事件的消息是否正确。

例如,该方法调用以下代码行:

_myEventPublisher.RaiseEvent(new MyEvent(message: myMessage))

我需要验证myMessage的内容是否正确。

我可以使用单元测试中的以下代码行成功验证事件是否已引发:

For<IMyEventPublisher>()
                .Verify(x => x.RaiseEvent(It.IsAny<IMyEvent>()), Times.Exactly(1));

但我无法弄清楚如何验证IMyEvent.Message字符串。

1 个答案:

答案 0 :(得分:3)

It.Is<IMyEvent>(m => Message == expected)

而不是

It.IsAny<IMyEvent>()