使用RestAssured接口测试框架在运行用例时出现了下面这个问题:

 1 八月 02, 2020 11:07:14 下午 org.aspectj.weaver.tools.Jdk14Trace error
 2 严重: org/codehaus/groovy/runtime/callsite/AbstractCallSite
 3 java.lang.RuntimeException: bad non-abstract method with no code: void org.codehaus.groovy.runtime.callsite.AbstractCallSite.<init>(org.codehaus.groovy.runtime.callsite.CallSiteArray, int, java.lang.String) on public class org.codehaus.groovy.runtime.callsite.AbstractCallSite
 4     at org.aspectj.weaver.bcel.LazyMethodGen.<init>(LazyMethodGen.java:223)
 5     at org.aspectj.weaver.bcel.LazyClassGen.<init>(LazyClassGen.java:362)
 6     at org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen(BcelObjectType.java:563)
 7     at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1706)
 8     at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1657)
 9     at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1422)
10     at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1196)
11     at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:551)
12     at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:387)
13     at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:116)
14     at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:51)
15     at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
16     at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
17     at java.lang.ClassLoader.defineClass1(Native Method)
18     at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
19     at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
20     at org.codehaus.groovy.reflection.SunClassLoader.define(SunClassLoader.java:94)
21     at org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.loadAbstract(GroovySunClassLoader.java:72)
22     at org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.<init>(GroovySunClassLoader.java:54)
23     at org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.<init>(GroovySunClassLoader.java:49)
24     at org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.lambda$static$0(GroovySunClassLoader.java:40)
25     at java.security.AccessController.doPrivileged(Native Method)
26     at org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.<clinit>(GroovySunClassLoader.java:37)
27     at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.isCompilable(CallSiteGenerator.java:256)
28     at org.codehaus.groovy.reflection.CachedMethod.createStaticMetaMethodSite(CachedMethod.java:312)
29     at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.createStaticMetaMethodSite(StaticMetaMethodSite.java:112)
30     at groovy.lang.MetaClassImpl.createStaticSite(MetaClassImpl.java:3500)
31     at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:74)
32     at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:156)
33     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
34     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
35     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130)
36     at io.restassured.internal.common.assertion.AssertParameter.notNull(AssertParameter.groovy:21)
37     at io.restassured.config.SSLConfig.<init>(SSLConfig.java:192)
38     at io.restassured.config.SSLConfig.<init>(SSLConfig.java:184)
39     at io.restassured.config.RestAssuredConfig.<init>(RestAssuredConfig.java:41)
40     at io.restassured.RestAssured.<clinit>(RestAssured.java:421)
41     at test_api.lotto.LottoTest.testLotto_02(LottoTest.java:21)
42     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
43     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
44     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
45     at java.lang.reflect.Method.invoke(Method.java:498)
46     at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:675)
47     at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
48     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:170)
49     at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
50     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:166)
51     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:113)
52     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:58)
53     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:112)
54     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
55     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
56     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
57     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
58     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
59     at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
60     at java.util.Iterator.forEachRemaining(Iterator.java:116)
61     at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
62     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
63     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
64     at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
65     at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
66     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
67     at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
68     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
69     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
70     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
71     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
72     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
73     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
74     at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
75     at java.util.Iterator.forEachRemaining(Iterator.java:116)
76     at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
77     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
78     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
79     at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
80     at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
81     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
82     at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
83     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
84     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
85     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
86     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
87     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:55)
88     at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
89     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
90     at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
91     at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
92     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
93     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
94     at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69)
95     at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
96     at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
97     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)

在试了多种方法后,发现在修改“rest-assured”依赖的版本为“4.2.0”后不会出现这个问题。

原来版本为:

<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>4.3.1</version>
            <scope>test</scope>
        </dependency>

修改为:

<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>4.2.0</version>
    <scope>test</scope>
</dependency>