0
我只是熟悉Typemock隔離器,很抱歉,如果下面的問題是愚蠢的。 我可以以某種方式獲得我的功能的時間被確切的參數調用? Like Isolate.Verify.GetTimesCalled()+ Isolate.Verify.WasCalledWithExactArguments()如何使用精確參數進行GetTimesCalled?
我只是熟悉Typemock隔離器,很抱歉,如果下面的問題是愚蠢的。 我可以以某種方式獲得我的功能的時間被確切的參數調用? Like Isolate.Verify.GetTimesCalled()+ Isolate.Verify.WasCalledWithExactArguments()如何使用精確參數進行GetTimesCalled?
Typemock沒有獲取具有確切參數的調用次數的函數。但是,您可以使用DoInstead()來解決此問題:
public class UnderTestClass
{
public void Foo(int n)
{
//Doesn't matter
}
}
[TestMethod, Isolated]
public void VerifyNumberOfCalls()
{
//Arrange
var underTest = new UnderTestClass();
int number = 0;
Isolate.WhenCalled((int n) => underTest.Foo(n)).AndArgumentsMatch(n => n <= 0).DoInstead(context =>
{
number++;
context.WillCallOriginal();
});
//Act
underTest.Foo(2);
underTest.Foo(1);
underTest.Foo(0);
underTest.Foo(-1);
underTest.Foo(-2);
//Assert
Assert.AreEqual(3, number);
}
完美!謝謝 –