Testabilité de service REST Jersey dans un contexte Guice
Comment tester REST ? <ul><li>Lancer un serveur léger qui embarque la ressource, et pointer dessus avec un client type Htt...
Qu'est ce que Jersey ? <ul><ul><li>Implémentation de JAX-RS </li></ul></ul><ul><ul><li>JAX-RS définit la partie serveur, m...
JerseyTest <ul><li>Une classe à étendre, une dépendance à importer </li></ul><ul><li>         <dependency> </li></ul><ul><...
Conf ? <ul><li>Code java équivalent au web.xml </li></ul><ul><li>@Override </li></ul><ul><li>protected AppDescriptor confi...
Guice <ul><ul><li>Injection de dépendance made in Google </li></ul></ul><ul><ul><li>Fonctionne par annotation et configure...
Démo 1 <ul><li>Hello mode texte </li></ul><ul><li>Enjeu :   configurer guice pour le test (accéder aux services à mocker) ...
Démo 2 <ul><li>Evoluons vers JAX-B </li></ul><ul><li>Enjeu :   Prendre en compte le marshal/unmarshal </li></ul><ul><li>ht...
Démo 3 <ul><li>Ajoutons du Json </li></ul><ul><li>Enjeu :   bon dialogue json  </li></ul><ul><li>https://github.com/nfranc...
Plus d'infos <ul><li>http://www.insideit.fr/post/2011/04/02/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-1/3 </li></ul><ul><li...
Prochain SlideShare
Chargement dans…5
×

Testde service rest avec Jersey dans un contexte Guice

896 vues

Publié le

Présentation que j'ai fait lors du BOF de Sfeir de mai 2011

Publié dans : Technologie, Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
896
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Testde service rest avec Jersey dans un contexte Guice

  1. 1. Testabilité de service REST Jersey dans un contexte Guice
  2. 2. Comment tester REST ? <ul><li>Lancer un serveur léger qui embarque la ressource, et pointer dessus avec un client type HttpClient </li></ul><ul><li>=> Nécessite un peu de code </li></ul>
  3. 3. Qu'est ce que Jersey ? <ul><ul><li>Implémentation de JAX-RS </li></ul></ul><ul><ul><li>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. </li></ul></ul>
  4. 4. JerseyTest <ul><li>Une classe à étendre, une dépendance à importer </li></ul><ul><li>        <dependency> </li></ul><ul><li>            <groupId>com.sun.jersey.jersey-test-framework</groupId> </li></ul><ul><li>            <artifactId>jersey-test-framework-grizzly</artifactId> </li></ul><ul><li>            <version>${jersey.version}</version> </li></ul><ul><li>            <scope>test</scope> </li></ul><ul><li>        </dependency> </li></ul>
  5. 5. Conf ? <ul><li>Code java équivalent au web.xml </li></ul><ul><li>@Override </li></ul><ul><li>protected AppDescriptor configure() { </li></ul><ul><li>return new WebAppDescriptor.Builder() </li></ul><ul><li>        .machin(...) </li></ul><ul><li>        .truc(...) </li></ul><ul><li>        .build(); </li></ul><ul><li>} </li></ul>
  6. 6. Guice <ul><ul><li>Injection de dépendance made in Google </li></ul></ul><ul><ul><li>Fonctionne par annotation et configure le module dans une application web (servlet) </li></ul></ul><ul><ul><li>Problème : Accéder à son injector pour récupérer les objets dedans :( </li></ul></ul>
  7. 7. Démo 1 <ul><li>Hello mode texte </li></ul><ul><li>Enjeu : configurer guice pour le test (accéder aux services à mocker) </li></ul><ul><li>https://github.com/nfrancois/PocJerseyGuiceAppEngine </li></ul>
  8. 8. Démo 2 <ul><li>Evoluons vers JAX-B </li></ul><ul><li>Enjeu : Prendre en compte le marshal/unmarshal </li></ul><ul><li>https://github.com/nfrancois/PocJerseyJaxBGuiceAppEngine </li></ul>
  9. 9. Démo 3 <ul><li>Ajoutons du Json </li></ul><ul><li>Enjeu : bon dialogue json  </li></ul><ul><li>https://github.com/nfrancois/PocJerseyJaxBJsonGuiceAppEngine </li></ul>
  10. 10. Plus d'infos <ul><li>http://www.insideit.fr/post/2011/04/02/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-1/3 </li></ul><ul><li>http://www.insideit.fr/post/2011/04/08/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-2/3 </li></ul><ul><li>http://www.insideit.fr/post/2011/04/16/Du-Jersey%2C-du-Guice-et-de-l-App-Engine-3/3 </li></ul>

×