0
У меня есть следующий класс с функцией Log, который для цели тестирования просто возвращает true.Moq: Moq настроен, но не думает, что он называется
public SomeClass : ILogger
{
// Other functions
public bool Log()
{
return true;
}
}
Как никогда в единичном тесте у меня есть следующие:
Mock<ILogger> logger = new Mock<ILogger>();
logger.Setup(func => func.Log()).Returns(() => false).Verifiable();
SomeClass testMe = new SomeClass(logger.Object);
bool result = testMe.Log();
logger.Verify(); //This fails saying that the Log function was never called
Результат BOOL не установлен в ложь, а правда. Это заставляет меня полагать, что моя установка неверна. Это так?
Это происходит потому, что вы не называется 'Log)' метод закачанного экземпляра регистратора (. Вызовите 'logger.Log()' внутри вашего метода 'SomeClass''' – Developer
Просьба представить реализацию вашего метода' Log', объявленного в 'SomeClass'. Скорее всего, вы не вызываете функцию журнала вашего регистратора. – Rafal