【发布时间】:2010-11-13 04:19:38
【问题描述】:
因此,对于从 SO 和 Internet 上的其他站点进行日志记录,最佳响应似乎是:
void DoSomething() {
Logger.Log("Doing something!");
// Code...
}
现在您通常会避免使用静态方法,但在记录日志的情况下(一种特殊情况),这是最简单和最干净的方法。在静态类中,您可以轻松地通过配置文件/框架注入实例,从而获得与 DI 相同的效果。
我的问题来自单元测试的角度。
在上面的示例代码中,假设 DoSomething() 的目的是将两个数字相加。我会为此编写单元测试。日志记录呢?
我会为日志记录编写一个单元测试吗(但对记录器本身使用模拟实例)?我知道如果是这种情况,我将不得不编写一个集成测试来证明记录器确实写入了日志文件,但我不确定。
在测试驱动开发(我这样做)之后,我需要进行单元测试来指定接口吗?
有什么建议吗?
【问题讨论】:
标签: unit-testing language-agnostic logging tdd