c# - MS Test 单元测试引发事件内容

标签 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 字符串。

最佳答案

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

而不是

It.IsAny<IMyEvent>()

关于c# - MS Test 单元测试引发事件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727541/

相关文章:

.net - 将信息从引用的类传递回调用表单

node.js - 如何在 koa 中发送 HTTP 响应之前等待 url 回调?

c# - 将 ICC 颜色配置文件应用于 C# (Dotnet) 中的图像

asp.net - Visual Studio 2010 - 部分发布网站?

visual-studio - 为什么 Visual Studio 2010 无法找到/打开 PDB 文件?

c++ - 在 OpenCV 中捕获和显示视频

c# - 匿名委托(delegate)可以在事件被触发后取消订阅吗?

c# - 我什么时候应该创建一个新的 DbContext()

c# - GTK+ Glade 和 CSS

c# - C#HTML代码阅读器