我使用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 字符串。
最佳答案
It.Is<IMyEvent>(m => Message == expected)
而不是
It.IsAny<IMyEvent>()
关于c# - MS Test 单元测试引发事件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727541/