2

我正在使用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 字符串。

4

1 回答 1

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

代替

It.IsAny<IMyEvent>()
于 2012-07-30T18:44:41.150 回答