我正在使用 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字符串。
答案 0 :(得分:3)
It.Is<IMyEvent>(m => Message == expected)
而不是
It.IsAny<IMyEvent>()