因此,从SO和其他网站在互联网上的录像最好的回应似乎是:
原文链接:/javaschema/282082.htmlvoid DoSomething() { Logger.Log("Doing something!"); // Code... }
现在通常你会避免使用静态方法,但是在记录(特殊情况)的情况下,这是最简单和最干净的路由。在静态类中,您可以通过配置文件/框架轻松地注入一个实例,使其具有与DI相同的效果。
我的问题来自于单元测试的角度。
在上面的示例代码中,想象DoSomething()的一点是将两个数字加在一起。我会写这个罚单的单位测试。记录怎么样?
我会为日志记录写一个单元测试(但是为记录器本身使用模拟实例)?我知道如果是这样,我必须编写一个集成测试来证明记录器实际写入一个日志文件,但我不确定。
在测试驱动开发(我做)之后,我需要单元测试来规定接口否?
任何建议?