0
我有以下類與日誌功能,爲測試目的只是返回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
的布爾結果未設置爲false,但爲true。這導致我相信我的設置不正確。是這樣嗎?
這是因爲您沒有調用注入記錄器實例的Log()方法。在'SomeClass'' Log'方法內調用'logger.Log()' – Developer
請提供'SomeClass'上聲明的'Log'方法的實現。很可能你不會調用你的記錄器的日誌功能。 – Rafal