2012-10-18 2 views
0

je reçois l'erreur suivante lorsque vous essayez d'exécuter ce code:NullPointerException - lors de l'exécution test très simple rassurez-vous

import com.jayway.restassured.response.Response; 
import static com.jayway.restassured.RestAssured.*; 

public class TestRestAssured { 
public static void main (String args[]){ 
// Call the REST service 
Response res = get("http://10.213.75.170:5000/bla"); // <--- Crashes on this line. 

    // Get the JSON payload 
    String json = res.asString(); 
} 

    } 

java.lang.NullPointerException 
    at org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord.loadDgmInfo(GeneratedMetaMethod.java:163) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:155) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:83) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61) 
    at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29) 
    at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49) 
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.createMap(ScriptBytecodeAdapter.java:619) 
    at com.jayway.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy) 
    at com.jayway.restassured.RestAssured.<clinit>(RestAssured.java:336) 
    at TestRestAssured.main(TestRestAssured.java:16) 
Exception in thread "main" java.lang.NullPointerException 
    at org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.loadClass(CallSiteClassLoader.java:45) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.loadClass(ClassLoaderForClassArtifacts.java:58) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.define(ClassLoaderForClassArtifacts.java:42) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts$1.run(ClassLoaderForClassArtifacts.java:86) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts$1.run(ClassLoaderForClassArtifacts.java:84) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.defineClassAndGetConstructor(ClassLoaderForClassArtifacts.java:84) 
    at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compilePojoMethod(CallSiteGenerator.java:229) 
    at org.codehaus.groovy.reflection.CachedMethod.createPojoMetaMethodSite(CachedMethod.java:257) 
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createCachedMethodSite(PojoMetaMethodSite.java:159) 
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createPojoMetaMethodSite(PojoMetaMethodSite.java:148) 
    at groovy.lang.MetaClassImpl.createPojoCallSite(MetaClassImpl.java:3015) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:116) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:150) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 
    at com.jayway.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy:42) 
    at com.jayway.restassured.RestAssured.createTestSpecification(RestAssured.java:1094) 
    at com.jayway.restassured.RestAssured.given(RestAssured.java:746) 
    at com.jayway.restassured.RestAssured.get(RestAssured.java:776) 
    at TestRestAssured.main(TestRestAssured.java:16) 

J'utilise le reste assuré 1.7, 1.8.8 groovy , toutes les dépendances restantes sont chargées dans le chemin de ma bibliothèque système. J'utilise aussi jdk 1.7. C'est un problème environnemental de quelque sorte, en tant que collègue, pas de problème à exécuter le même code avec les mêmes fichiers .jar ...

+0

Est-ce que vous et votre collègue utilisez le même JDK? J'ai vu des bogues Groovy avant où il échoue sur OpenJDK et non sur Sun JDK. Vous pouvez comparer le fournisseur et la version. –

+0

Les numéros de ligne aideraient. Ou un commentaire comme '// <- se bloque sur cette ligne' –

+0

Où votre méthode 'get' est-elle définie? S'il vous plaît le poster si vous voulez plus d'aide. – bigdado

Répondre

1

Eh bien, votre get semble retourner le NullPointerException.

at com.jayway.restassured.RestAssured.get(RestAssured.java:776) 

Quelque chose ne va pas dans cette méthode.

Vous avez probablement manqué les dépendances tierces comme indiqué dans le instructions. Il semble que l'erreur apparaisse lors du chargement des autres classes.

utilisateurs non-maven

Télécharger rassurez-vous et le mettre dans votre chemin de classe. Vous devrez peut-être également télécharger les dépendances tierces et les placer dans votre classpath.

+0

par ma question d'origine: "toutes les dépendances restantes sont chargées dans le chemin de ma librairie système" –