2015-04-01 1 views
0

Je reçois une exception d'état non autorisé car il ne peut pas sérialiser l'objet en json car il n'y a pas de sérialiseur json dans le chemin de classe.Test d'une demande de publication RESTFull qui attend MediaType_Application

Ceci est ma méthode de test.

@Test 
    public void testAddUser() { 
    User user = new User(1, "hhhh", "1234", "bbbb", "bbbbb");   

    given() 
    .contentType(MediaType.APPLICATION_JSON) 
    .body(user) 
    .expect() 
    .statusCode(200) 
    .log().ifError() 
    .when() 
    .post("/rest/user/add"); 
} 

Ce sont les dépendances jackson que j'ai ajoutées et qui, je suppose, ont ajouté jackson au classpath. J'ai également ajouté un jax jsson-js au chemin de compilation, mais je reçois toujours cette erreur.

<dependency> 
       <groupId>org.codehaus.jackson</groupId> 
       <artifactId>jackson-core-asl</artifactId> 
       <version>1.9.13</version> 
      </dependency> 

      <dependency> 
       <groupId>org.codehaus.jackson</groupId> 
       <artifactId>jackson-mapper-asl</artifactId> 
       <version>1.9.13</version> 
      </dependency> 

      <dependency> 
       <groupId>com.fasterxml.jackson.jaxrs</groupId> 
       <artifactId>jackson-jaxrs-json-provider</artifactId> 
       <version>2.5.1</version> 
      </dependency> 

Y at-il quelque chose que je manque complètement ici?

J'ai aussi vérifié WEB-INF/lib et les pots sont là aussi.

Répondre

0

Silly surveillance de ma part. Comme je suis en train de déployer le test dans une archive web, j'aurais dû l'inclure dans cette archive comme ci-dessous.

libs = Maven.resolver().resolve("org.codehaus.jackson:jackson-core- 
asl:1.9.13")    
.withTransitivity().as(File.class); 
archive.addAsLibraries(libs);