2015-04-25 22 views
0

更改的對象,這是我想的方法來測試:斷定方法被調用與在該方法

public void Set1(ViewModelA viewModelA) 
{ 
    var viewModelB = new ViewModelB 
    { 
     FirstName = viewModelA.FirstName, 
     LastName = viewModelB.LastName 
    } 
    service.Set2(viewModelB); 
} 

我怎麼能斷言傳遞給service.Set2的viewModelB實例具有的屬性值從viewModelA映射並且Set2將viewModelB作爲參數?

回答

0

假設你嘲笑service情況下,你應該能夠做這樣的事情:

service.AssertWasCalled(s => s.Set2(
    Arg<ViewModelB>.Matches(b => 
    b.FirstName == "TheFirstName" && b.LastName == "TheLastName" 
) 
)); 

本質上你正在做的是斷言的Set2方法被調用,並且被賦予了ViewModelB實例名和姓匹配你期望的。