2011-04-13 8 views
1

RelayCommand가 실행될 때 메신저 보내기가 호출되었는지 어떻게 테스트합니까?유닛 테스트 MVC 라이트 메신저 메시지는 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 ? 
    } 
} 

답변

3

등록, 변수에 메시지를 저장 한 후 적절한 메시지가 있는지 확인 받았습니다.

+0

코드를 사용하여 좀 더 정교하게 설명해 주실 수 있습니까? 나는 네가 말하는 것을 얻을 수 없다. – VivekDev