2011-04-13 65 views
1

如何执行RelayCommand时如何测试消息发送被调用?当执行RelayCommand时发送单元测试MVVM Light 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 ? 
    } 
} 

回答

3

上的Messenger注册的邮件的收件人,邮件存储在一个变量,然后检查它是否是正确的消息,您接收。

+0

请您好好使用代码详细说明一下吗?我无法得到你在说什么 – VivekDev 2016-09-18 11:27:32

相关问题