2016-02-24 18 views

回答

1

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); 
} 
+0

完美!謝謝 –

相關問題