我知道您应该只加载一次log4j属性,那么在进行单元测试时的标准实践是什么呢?我应该在每个单元测试文件中加载它吗?我应该把它放在jUnit的setUp()方法中吗?
谢谢
发布于 2010-03-13 05:46:42
为什么首先要在单元测试中加载log4j属性?在正常的事件过程中,单元测试不应该生成日志消息。您应该简单地关闭日志记录(对于正在进行单元测试的代码也是如此)。单元测试唯一需要的输出是JUnit (或你最喜欢的单元测试框架)自动生成的摘要,其他任何东西都是杂乱无章的。我将此代码添加到单元测试类的类设置方法中:
Logger.getRootLogger().setLevel(Level.OFF);唯一的例外是当我为一个尚未测试的类/模块组合一个新的单元测试时(我正在处理遗留代码,试图逐渐用单元测试覆盖它),或者当我分析一个失败的测试时。然后,我让日志消息进入标准输出,以获取我调用的代码中哪里出了问题的线索。但是一旦修复了单元测试(或应用程序代码),我就会再次关闭登录。
https://stackoverflow.com/questions/2436101
复制相似问题