我正在使用 cobertura-maven-plugin-2.7,当我进行 Maven 构建时出现错误。
但是当我独立运行Junit测试用例时,它成功执行了。
环境:
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T12:37:52-05:00) Java version: 1.8.0_51,
vendor: Oracle Corporation Java home: F:\Java\JDK8_51\jre Default locale: en_US,
platform encoding: Cp1252 OS name: "windows 7",
version: "6.1",
arch: "amd64",
family: "dos" Junit 4.12
错误跟踪:
java.lang.ExceptionInInitializerError
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.NullPointerException
at CustomClass.<clinit>(CustomClass.java:33)
at line 33:(shown below)-LoggerFactory(of type org.slf4j.LoggerFactory) is null
private static final Logger LOGGER = LoggerFactory
.getLogger(CustomClass.class);
更新:
嗨。谢谢,我确实对代码进行了一些更改,以删除不需要的“静态”引用。但是,我在模拟任何接口(interface)时仍然遇到问题,如果我使用 Junit 单独运行,这些接口(interface)可以正常工作,但运行时会失败使用 cobertura 进行构建。请问有什么意见吗? 很抱歉没有发布另一个问题,因为无法使用 cobertura 2.7 进行构建的问题仍然存在,但以另一种形式存在。
最佳答案
关于java - Cobertura 2.7 和 Java 1.8 - Junit 4 测试用例的问题 - 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862720/