gpt4 book ai didi

unit-testing - 单元测试 : Logging and Dependency Injection

转载 作者:行者123 更新时间:2023-12-03 15:06:05 28 4
gpt4 key购买 nike

因此,关于从 SO 和 Internet 上的其他站点进行日志记录,最佳响应似乎是:

void DoSomething() {
Logger.Log("Doing something!");
// Code...
}

现在通常您会避免使用静态方法,但在记录(一种特殊情况)的情况下,这是最简单和最干净的路线。在静态类中,您可以轻松地通过配置文件/框架注入(inject)实例,从而获得与 DI 相同的效果。

我的问题来自单元测试的角度。

在上面的示例代码中,假设 DoSomething() 的目的是将两个数字相加。我会为此编写单元测试。日志记录呢?

我会为日志记录编写一个单元测试(但对记录器本身使用模拟实例)吗?我知道如果是这种情况,我将不得不编写一个集成测试来证明记录器实际上写入了一个日志文件,但我不确定。

在测试驱动开发(我这样做)之后,我需要进行单元测试来指示接口(interface),否?

有什么建议吗?

最佳答案

就个人而言,我非常虔诚地练习 TDD/BDD,而且我几乎从不测试日志记录。除了一些异常(exception),日志记录要么是开发人员的便利,要么是可用性因素,而不是方法核心规范的一部分。它也往往比方法的实际语义具有更高的变化率,所以你结束测试只是因为你添加了一些更多的信息日志。

进行一些简单地测试日志子系统的测试可能是值得的,但对于大多数应用程序,我不会测试每个类以特定方式使用日志。

关于unit-testing - 单元测试 : Logging and Dependency Injection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com