У меня есть метод, который я тестирую. Учитывая определенные входные данные, он должен записать метод сбоя в логгер (ILogger). Интерфейс имеет несколько перегрузок для Log (), а также некоторые свойства (например, уровень ведения журнала). Я издеваюсь над регистратором, используя FakeItEasy.
Я хочу утверждать, что произошел вызов Log (). Однако мне все равно, какая конкретная перегрузка привыкла. Как я могу это сделать?
Мои идеи:
// Doesn't work, since a different overload (with more parameters) is used.
A.CallTo(() => mockLogger.Log(null)).WithAnyArguments().MustHaveHappened();
// "Works", but if the code were to call something else on the logger
// (ex. change the logging level), this would also pass!
Any.CallTo(mockLogger).MustHaveHappened();