如何在单元测试环境中配置log4j?

时间:2011-01-12 20:45:41

标签: java unit-testing log4j

配置log4j以在单元测试环境中使用的最佳方法是什么?我更喜欢我的单元测试没有外部依赖,所以读取log4j配置文件不是一个选项。理想情况下,我可以在单元测试设置功能中进行1或2个函数调用。

2 个答案:

答案 0 :(得分:16)

你可以在测试的顶部放置一个静态代码块

BasicConfigurator.configure();

请注意,这个问题是每次执行该行时,log4j都会添加一个appender,你会得到重复的日志语句。因此,如果您在每个测试类中都这样做,那么每个日志语句都会有n个副本。

所以我建议你创建一个类BaseTestCase并在那里做这个。

注意,拥有某种具有相关配置的测试资源并不是一个坏主意......

答案 1 :(得分:3)

Log4j已经是外部依赖项了。但无论如何,你得到了你的答案(hvgotcodes),所以我只想补充一点,你可以以编程方式设置log4j。基本上你可以通过配置做的一切,你也可以通过代码来做:

http://robertmaldon.blogspot.com/2007/09/programmatically-configuring-log4j-and.html