运行 在 Maven 中测试时出现 Geb 异常
Geb exception when running tests in maven
当我 运行 使用 maven 从命令行进行测试时,我得到了这个异常。
我的命令:
mvn -Dtest=specs.full.* -Dtestsystem=Win7/IE test
在我的本地机器上,一切正常。但是当我 运行 在我们安装了 jenkins 的服务器上进行测试时,我得到以下异常:
java.lang.VerifyError: (class: specs/full/ReadCheckMenuLinks, method: super$$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)
奇怪的是,测试在服务器上运行,但现在我在每次测试时都会遇到此异常 运行。
这可能是什么问题?
这很可能取决于您在 CI 服务器上使用的 jvm 版本。在 Java 的特定构建中使用 Groovy 时,我看到了类似的错误 8. 查看您本地的 jvm 版本是什么,并确保 Jenkins 使用的版本相同。
当我 运行 使用 maven 从命令行进行测试时,我得到了这个异常。 我的命令:
mvn -Dtest=specs.full.* -Dtestsystem=Win7/IE test
在我的本地机器上,一切正常。但是当我 运行 在我们安装了 jenkins 的服务器上进行测试时,我得到以下异常:
java.lang.VerifyError: (class: specs/full/ReadCheckMenuLinks, method: super$$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)
奇怪的是,测试在服务器上运行,但现在我在每次测试时都会遇到此异常 运行。
这可能是什么问题?
这很可能取决于您在 CI 服务器上使用的 jvm 版本。在 Java 的特定构建中使用 Groovy 时,我看到了类似的错误 8. 查看您本地的 jvm 版本是什么,并确保 Jenkins 使用的版本相同。