2011-10-10 71 views
2

您是否可以幫助實現我在下面的註釋塊中提到的目標以完成樣品單元測試?如何檢查模擬對象上特定參數的方法?

想法是如何/檢查模擬對象上,如果它的一個方法被調用,具有特定屬性設置爲預期值的類型實例

private IMyObject stub = MockRepository.GenerateMock<IMyObject>(); 
[TestMethod] 
public void MakeMyJob_RecievesValidData_CallsRenderWithCorrectParameter() 
{ 
    SomeUtility.MakeMyJob(5,10,stub); 

    stub.AsswertWasCalled(s=>s.Render(Arg<IViewModel>.Is. //What next? 
              // In order to check if Render is called 
              // with a IViewModel instance 
              // whoose Person.Name property is "Peter" 

} 

回答

1

我認爲你正在尋找Rhino Mocks中的參數約束。前些日子我有一些框架 - link。我覺得你在reference尋找

Arg<IViewModel>.Matches (vm => vm.Person.Name == "Peter")

+0

更好的鏈路 - http://ayende.com/wiki/Rhino+Mocks+3.5.ashx#ArgumentConstraints。查找名爲「複雜表達式」的部分 – Gishu

0

看:

stub.AsswertWasCalled(s=>s.Render(Arg<IViewModel>.Property("Person", "John")))