1

RelayCommandの実行時にメッセンジャー送信が呼び出されたことを単体テストするにはどうすればよいですか?

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 ?
   }
}
4

1 に答える 1

3

メッセージの受信者としてMessengerに登録し、メッセージを変数に保存してから、受信したメッセージが適切であることを確認します。

于 2011-06-14T18:35:54.107 に答える