当我使用maven从命令行运行测试时,我收到此异常。 我的命令:
mvn -Dtest=specs.full.* -Dtestsystem=Win7/IE test
在我的本地机器上,一切正常。但是当我在我们的服务器上运行测试时,安装了jenkins,我得到以下异常:
java.lang.VerifyError: (class: specs/full/ReadCheckMenuLinks, method: super$8$$spock_feature_3_1 signature: ()V) Illegal use of nonvirtual function call
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
at java.lang.Class.getMethod0(Class.java:2866)
at java.lang.Class.getMethod(Class.java:1676)
at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54)
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:52)
at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97)
at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:222)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:107)
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)
奇怪的是,测试在服务器上运行,但现在我在运行的每个测试中都会遇到此异常。
这可能是什么问题?
答案 0 :(得分:1)
最有可能归结为您在CI服务器上使用的jvm版本。在将Groovy与Java 8的特定版本一起使用时,我发现了类似的错误。看看你的本地版本的jvm是什么,并确保Jenkins使用的版本是相同的。