2
我有一個方法是這樣的:NMock - 如何使具有相同參數類型的方法返回不同的值?
public string MyMethod(string a, string b)
{
if(a == "abcd" && b == "xyz")
return "good";
if(a == "xyz" && b == "something")
return "even better";
return "unexpected";
}
public string MainMethod()
{
string s1, s2;
if(some condition)
{
s1= "abcd";
s2 = "xyz";
}
return service.MyMethod(s1, s2);
}
我的模擬對象是這樣
AppObj obj = new AppObj();
Mockery mocks = new Mockery();
mockMyService = mocks.NewMock<IMyService>();
Expect.Once.On(mockMyService).Method("MyMethod").
With("abcd", "xyz").
Will(Return.Value("good"));
obj.MainMethod();
Expect.Once.On(mockMyService).Method("MyMethod").
With("xyz", "something").
Will(Return.Value("even better"));
obj.MainMethod();
與上面的代碼的問題創建的,它總是使用第一個模擬方法的參數和返回「好」。我需要做些什麼才能讓NMock爲具有不同參數值的相同方法返回不同的值?請幫忙!!