Se moquant d'un appel RESTE avec MockRestServiceServer

Je suis en train d'écrire un test JUnit qui teste une méthode dans une classe d'assistance. Les appels de méthode d'une application externe à l'aide de REPOS et c'est cet appel que je suis en train de fantaisie dans le test JUnit.

La méthode d'assistance fait le RESTE appel à l'aide du Printemps RestTemplate.

Dans mon test, j'ai créer une maquette au RESTE du serveur et de se moquer de REPOS modèle et instanitiate comme ceci:

@Before
public void setUp() throws Exception {
    mockServer = MockRestServiceServer.createServer(helperClass.getRestTemplate());
}

J'ai ensuite graines de la simulation de serveur de sorte qu'il devrait retourner une réponse appropriée lorsque la méthode d'assistance fait l'appel RESTE:

//response is some XML in a String
mockServer
    .expect(MockRestRequestMatchers.requestTo(new URI(myURL)))
    .andExpect(MockRestRequestMatchers.method(HttpMethod.GET))
    .andRespond(MockRestResponseCreators.withStatus(HttpStatus.OK)
        .contentType(MediaType.APPLICATION_XML)
        .body(response));

Quand je lance mon test, la méthode d'assistance reçoit une réponse null à partir de l'appel RESTE il fait le test échoue.

Le RESTE de l'URL que l'aide a fait la requête params et ressemble à ceci: "http://server:port/application/resource?queryparam1=value1&queryparam2=valeur2".

J'ai essayé de mettre l'URL ("http://server:port/application/resource") à la fois avec et sans les paramètres de requête dans le "myURL" variable (pour obtenir un match pour qu'il renvoie une réponse), mais ne peut pas obtenir la simulation de serveur de retourner quoi que ce soit.

J'ai essayé de chercher des exemples de ce genre de code, mais n'ai pas encore trouvé quelque chose qui semble ressembler à mon scénario.

Printemps version 4.1.7.

Merci d'avance pour toute aide.

Merci pour l'écriture de la classe pour les méthodes statiques contrairement à beaucoup d'autres sources où il est juste, par exemple,requestTo.

OriginalL'auteur GarlicBread | 2016-06-13