dev*_*per 3 c# tdd logging log4net
我正在尝试做TDD,我不清楚如何为我编写的记录逻辑做这件事.
Fox的例子,对于以下内容的测试是什么:
if(importantCriteriaNotMet)
{
log.Info("My message here");
}
Run Code Online (Sandbox Code Playgroud)
我该如何测试该日志代码?我应该测试一下吗?
Be.*_*St. 10
如果log是ILog类型:
Log4Net:如果我没记错的话,Logger实现了一个名为ILog的接口.使用像Moq这样的模拟框架并创建一个模拟的ILog实例.
然后,您设计您的类以在构造函数中获取ILog实例.使用类似的设计,在运行测试时运行系统和模拟实例时,可以为类提供具体实现.
您可以使用以下代码验证我是否正确完成了日志记录:
mockedLogger.Verify(l=>l.Log("The message that should be logged"),Times.Once)
Run Code Online (Sandbox Code Playgroud)
如果你想学习TDD嘲笑是你的朋友.