2017-08-03 1 views
0

J'utilise IntelliJ ici et j'obtiens une exception de méthode manquante que je ne peux pas comprendre dans cette implémentation Groovy de RestAssured. La méthode suspect est la suivante:Exception de méthode manquante Groovy Rest-Assured pour ArrayList

when().get("http://jsonplaceholder.typicode.com/posts/1") 
      .then().body("id", equalTo(1)) 

Je reçois l'exception suivante:

Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.toSorted() is applicable for argument types: (io.restassured.internal.RequestSpecificationImpl$_applyPathParamsAndSendRequest_closure32) values: [io.restassured.internal.Re[email protected]4d9e68d0] 
Possible solutions: toSet(), toString(), toString(), toString(), toString(), sort() 
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56) 
    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 
    at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1715) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1206) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:806) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149) 
    at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1731) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1206) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:806) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:168) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1206) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:806) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 
    at Main.main(Main.groovy:11) 

je les importations actuellement suivantes:

import static io.restassured.RestAssured.* 
import static io.restassured.matcher.RestAssuredMatchers.* 
import static org.hamcrest.Matchers.* 

Je suis juste visant à une api générique sur sur le web pour une démo. J'ai essayé différentes choses et ça semble toujours descendre à l'appel get() lui-même. Cela arrive aussi sur l'appel post() que je fais. Avec le get(), si je supprime tout sauf le get() lui-même, alors non() ou quoi que ce soit après, je reçois toujours l'exception.

J'ai l'impression que c'est un problème avec les librairies java qui ne sont pas prises en compte, mais si je comprends ce que ça pourrait être, ça va.

Répondre

0

J'ai rencontré le même problème et a constaté que c'est en raison de la dépendance Groovy manquante, ajoutez-le dans votre pom et votre problème devrait être résolu.

<dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-xml</artifactId> 
    <version>2.4.11</version> 
</dependency> 

https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all/2.4.11