java – jUnit jMock和log4j
作者:互联网
我已经完成了在其他程序员创建的程序上执行JUnit JMock的任务.大多数类都有这个静态场记录器,即:
static Log logger = LogFactory.getLog(SomeClass.class.getName());
我通过在setUp()方法中实例化它来创建SomeClass的实例.当我运行我的jUnit类时,我收到此错误消息:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: (No such file or directory)
我试着通过调用DOMConfigurator.configure(“log4j.xml”)来完成手动log4j配置;在setUp()方法内部,但我仍然得到上面相同的错误消息.
问题是:
>如何在调用其他使用LogFactory.getLog的类的类中运行单元测试模拟
>我应该在我的setup方法中配置log4j,以便模拟和单元测试运行时没有异常吗?
>我该怎么做
解决方法:
你有两个选择……
>使用PowerMock和mock up the static getLog method call.
>为您的测试用例配置log4j.properties
在Maven项目中,第二个选项很简单,因为您只需要在test / resources文件夹中创建log4j.properties.
标签:java,junit,log4j,jmock 来源: https://codeday.me/bug/20190621/1251424.html