chevron-thin-right chevron-thin-left brand cancel-circle search youtube-icon google-plus-icon linkedin-icon facebook-icon twitter-icon toolbox download check linkedin phone twitter-old google-plus facebook profile-male chat calendar profile-male
Welcome to Typemock Answers. Here you can ask and receive answers from other community members. And if you liked or disliked an answer or thread: react with an up- or downvote Enjoy!

How would you verify the number of times a private method is called?

0 votes
The above is great if you just want to make sure a private method was called, but what if it is in a loop and you need to verify the number of times it was called?
asked Feb 11, 2016 by donniedarko (21,340 points)

1 Answer

0 votes


Isolate.Verify.GetTimesCalled is currently not available in the NonPublic API.

This problem can be solved using DoInstead:

public class UnderTest
    public  void TestedMethod()
        for (int i = 0; i < 5; i++)
    private void SubjectMethod(){}

[TestClass, Isolated]
public class UnitTests
    public void Verifying_TimesPrivateMethodWasCalled()
        int counter = 0;
        var underTest = new UnderTest();
        Isolate.NonPublic.WhenCalled(underTest, "SubjectMethod").DoInstead(c=>


        Assert.AreEqual(5, counter);


answered Feb 12, 2016 by alex (17,950 points)