如何解决当执行RelayCommand时,发送单元测试MVVM Light Messenger消息
| 执行RelayCommand时,如何对调用Messenger发送的单元进行单元测试? viewmodelClass:public class Myviewmodel
{
public Myviewmodel()
{
this.MyCommand = new RelayCommand(() => SendMyMessage());
}
public int Id { get; set; }
public RelayCommand MyCommand { get; private set; }
private void SendMyMessage()
{
Messenger.Default.Send<int,Otherviewmodel>(this.Id);
}
}
单元测试:
[TestClass]
public class When_MyCommand_Is_Executed
{
[TestMethod]
public void A_Message_Is_Sent()
{
//Arrange
var vm = new Myviewmodel();
//Act
vm.MyCommand.Execute(1);
//Assert
//What to do here ?
}
}
解决方法
在Messenger上注册为邮件的收件人,将邮件存储在变量中,然后检查它是否是您收到的正确邮件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。