编程语言
首页 > 编程语言> > java – jUnit jMock和log4j

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