log4j - 何时在测试中使用PropertyConfigurator?

时间:2010-03-12 21:44:26

标签: java log4j propertyconfigurator

我知道你应该只加载一次log4j属性,那么当你进行单元测试时,标准做法是什么?我应该在每个单元测试文件中加载它吗?我应该把它放在jUnit的setUp()方法中吗?

由于

1 个答案:

答案 0 :(得分:3)

为什么要在单元测试中首先加载log4j属性?在正常的事件过程中,单元测试不应该产生日志消息。 IMO你应该简单地关闭日志记录(也用于被单元测试的代码)。单元测试唯一需要的输出是JUnit(或您最喜欢的单元测试框架)自动为您生成的摘要,其他任何东西都是杂乱的。我将它添加到我的单元测试类中的类设置方法:

Logger.getRootLogger().setLevel(Level.OFF);

唯一的例外是当我为一个尚未经过测试的类/模块组合一个新的单元测试时(我正在使用遗留代码,尝试逐步进行单元测试),或者在分析失败的测试时。然后我让日志消息转到标准输出,以获取有关我调用的代码中某处出错的线索。但是一旦单元测试(或应用程序代码)被修复,我就会再次关闭注销。