Cobertura 2.7和Java 1.8 - Junit 4测试用例的问题-异常



我正在使用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:JavaJDK8_51jre 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)

第33行:(如下所示)-LoggerFactory(类型为org.slf4j.LoggerFactory)为空

private static final Logger LOGGER = LoggerFactory
        .getLogger(CustomClass.class);
更新:

嗨。感谢我做了一些更改代码,以删除"静态"引用,这是不需要的。但是我在模拟任何接口时仍然有问题,如果我使用Junit单独运行,但是当我使用cobertura进行构建时失败。有什么建议吗?抱歉没有发布另一个问题,因为无法使用cobertura 2.7构建的问题仍然存在,但以另一种形式存在。

您可能遇到了一个bug:仪表类在静态初始化期间抛出NPE。

最新更新