我的单元测试生成了非常好的Cobertura代码覆盖率报告。然而,从Java 1.6升级到Java 1.7并使用Cobertura 2.0.3,我开始得到以下错误。我查看了this Cobertura Mailing list entry关于类路径问题,Java 7,升级版本和工具,但我仍然遇到了问题。有什么建议吗?
[testng] Exception in thread "Thread-1" java.lang.ExceptionInInitializerError
[testng] at org.my.code.MyFile.__cobertura_init(MyFile.java)
[testng] at org.my.code.MyFile.<clinit>(MyFile.java)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng] at java.lang.reflect.Method.invoke(Method.java:601)
[testng] at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:121)
[testng] at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:107)
[testng] at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:272)
[testng] at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:33)
[testng] at java.lang.Thread.run(Thread.java:722)
[testng] Caused by: java.lang.IllegalStateException: Shutdown in progress
[testng] at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66)
[testng] at java.lang.Runtime.addShutdownHook(Runtime.java:209)
[testng] at net.sourceforge.cobertura.coveragedata.ProjectData.initialize(ProjectData.java:239)
[testng] at net.sourceforge.cobertura.coveragedata.ProjectData.getGlobalProjectData(ProjectData.java:209)
[testng] at net.sourceforge.cobertura.coveragedata.TouchCollector.<clinit>(TouchCollector.java:46)
[testng] ... 11 more
cb.html:
[cobertura-report] The jvmargs attribute is deprecated. Please use nested jvmarg elements.