Unit testing 执行RelayCommand时发送单元测试MVVM Light Messenger消息

Unit testing 执行RelayCommand时发送单元测试MVVM Light Messenger消息,unit-testing,mvvm-light,relaycommand,Unit Testing,Mvvm Light,Relaycommand,如何对执行RelayCommand时调用messenger send进行单元测试 ViewModelClass: public class MyViewModel { public MyViewModel() { this.MyCommand = new RelayCommand(() => SendMyMessage()); } public int Id { get; set; } public RelayCommand MyCommand

如何对执行RelayCommand时调用messenger send进行单元测试

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);
   }
}

在Messenger上注册为邮件收件人,将邮件存储在一个变量中,然后检查您收到的邮件是否正确。

请使用代码详细说明一下好吗?我听不懂你说的话
[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 ?
   }
}