Я использую свою собственную маленькую C# инфраструктуру для тестирования юнитов для тестирования моего кода.
Иногда мне нужно подсчитать, как часто вызывается функция поддельного объекта. Вот так:
IDatabase fakeDb = new FakeDatabase();
IResult result = new Foo().ToTest(fakeDb);
//Some other tests
UTest.Equal(fakeDb.FakeCloseCalled(), 1);
Итак, на данный момент мой класс FakeDatabase выглядит следующим образом:
class FakeDatabase : IDatabase
{
//All the other code
public int FakeCloseCalled
{
get;
private set;
}
public void Close()
{
FakeCloseCalled++;
}
}
Итак, каждый раз, когда я хочу узнать, как часто вызывается функция из моих поддельных объектов Я должен создать свойство для этого в моем FakeClass.
Так что мне интересно, есть ли более "обобщенный" способ сделать это. например, профилировщики и некоторые unittest-frameworks могут подсчитывать вызовы функций.
Так есть ли более общий c способ подсчета вызовов для закрытия без создания свойства каждый раз?