Click here to load reader
Upload
francois-nicolas
View
704
Download
0
Embed Size (px)
DESCRIPTION
Présentation que j'ai fait lors du BOF de Sfeir de mai 2011
Citation preview
Testabilité de service REST Jersey dans un contexte Guice
Comment tester REST ?
Lancer un serveur léger qui embarque la ressource, et pointer dessus avec un client type HttpClient
=> Nécessite un peu de code
Qu'est ce que Jersey ?
• Implémentation de JAX-RS
• JAX-RS définit la partie serveur, mais pas la partie cliente => Chaque implémentation de JAX-RS définit sa propre façon de faciliter les tests.
JerseyTestUne classe à étendre, une dépendance à importer <dependency> <groupId>com.sun.jersey.jersey-test-framework</groupId> <artifactId>jersey-test-framework-grizzly</artifactId> <version>${jersey.version}</version> <scope>test</scope> </dependency>
Conf ?
Code java équivalent au web.xml
@Overrideprotected AppDescriptor configure() {return new WebAppDescriptor.Builder() .machin(...) .truc(...) .build();}
Guice
• Injection de dépendance made in Google• Fonctionne par annotation et configure le module
dans une application web (servlet)
• Problème : Accéder à son injector pour récupérer les objets dedans :(
Démo 1
Hello mode texteEnjeu : configurer guice pour le test (accéder aux services à mocker)
https://github.com/nfrancois/PocJerseyGuiceAppEngine
Démo 2
Evoluons vers JAX-BEnjeu : Prendre en compte le marshal/unmarshal
https://github.com/nfrancois/PocJerseyJaxBGuiceAppEngine
Démo 3
Ajoutons du JsonEnjeu : bon dialogue json
https://github.com/nfrancois/PocJerseyJaxBJsonGuiceAppEngine
Plus d'infos
http://www.insideit.fr/post/2011/04/02/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-1/3
http://www.insideit.fr/post/2011/04/08/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-2/3
http://www.insideit.fr/post/2011/04/16/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-3/3