IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

faire des tests junit en GWT


Sujet :

GWT et Vaadin Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut faire des tests junit en GWT
    Bonjour,

    nous devons mettre en place les tests unitaires pour la partie GWT. celle ci est decoupé en MVP. la vue ne contient que les widgets (avec uibinder), le presenter contient le comportement de la vue.

    ma question est comment faire des tests unitaires sur le presenter? comment mocker la vue (et donc ces widgets (par transitivite)) afin que dans le test unitaires on peut tester que le click sur le bouton A, declenche l'envois du bonne evenement dans l'event bus et que derriere le bon presenteur est appelé ?

    j'ai testé avec mockito, en mockant tous ce que je peux, mais au final des que je veux acceder à la vue via mon presenteur, celle ci reste null

    Merci d'avance pour vos reponses.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Salut,
    Tu peux peut être tester tes composants un par un au lieu de tester tout le cheminement d'un coup car le jour où tu vas changer un tout petit peu ton presenter, le test clashera et tu ne seras pas forcément où tout de suite.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 61
    Points : 88
    Points
    88
    Par défaut
    Avec mockito, tu as une option pour mocker aussi les attributs d'une classe mocker (récursivement) C'est ce que tu dois appeler mocker par transitivité ?

    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
    ContentPresenter.Display displayMock;

    Par contre si tu déclenche ton évènement sur la vue mockée, et que ton presenter doit réagir via un bus, alors ça ne peut pas marcher. Il faut mocker différement le clickHandler et l'event.

    Cf la présentation de ray ryan.
    Regarde comment il fait sur le 2ème slide de cette page :
    http://extgwt-mvp4g-gae.blogspot.com...10/part-3.html

  4. #4
    Membre averti
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Points : 417
    Points
    417
    Par défaut
    Salut,

    il faut utiliser GwtTestCase

    http://google-web-toolkit.googlecode...TTestCase.html

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 61
    Points : 88
    Points
    88
    Par défaut
    Il me semble que gwttestcase ne marche avec mockito.

  6. #6
    Membre averti
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Points : 417
    Points
    417
    Par défaut
    Il cherche à faire des tests unitaire sur GWT. Pas forcément à utiliser Mockito à tout pris !?

    Il n'y a que deux solutions viable dans les tests automatisé de la couche cliente GWT :
    - GWTTestCase pour les test unitaire
    - test fonctionnel automatisé avec Selenium-RC en pilotant un navigateur Web

    Apres s'il veut à tout pris utiliser Mockito je lui souhaite bien du courage

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Points : 173
    Points
    173
    Par défaut
    Un des intérêt d'utiliser le framework MVP par rapport au MVC c'est que la vue est "morte". Comme le Presenter possède une référence sur la vue, il peut tout diriger depuis lui même, on peut donc se passer du GWTTestCase et n'utiliser que le Junit avec un service de Mock:

    http://code.google.com/intl/fr/webto...e.html#testing

    ainsi que :
    http://code.google.com/intl/fr/webto...using_gwt.html

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut gwt test bouton
    Bonjour,

    J'ai une simple petite ihm avec un bouton et je voudrais faire un test lorsque l'on clique sur le bouton.

    Le test je voudrais le faire gwt pure.

    Je vous remercie de votre aide

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    GWTTestCase est très lent et ne permet pas d'utiliser toutes les classes de la JVM, puisque seules les classes compilables en JavaScript sont autorisées au sein de ta classe de test.. (la white list est ici.

    Quand tu fais du MVP, le but pas "tester que l’évènement est bien dispatché par l'eventbus", parce que quelque part ça revient à tester GWT en lui-même...

    Le framework gwt-test-utils permet de faire la même chose que GWTTestCase, mais sans aucune contrainte de classe compilable ou pas.

    Tu peux simuler tous les évènements avec la classe Browser (Browser.click, Browser.mouseOver...), mocker les appels RPC ou tout ce que tu veux, avec soit Mockito, soit EasyMock, etc...

    Pour info, je suis le co-fondateur de ce framework (ok je fais de la pub ^^), qui est utilisé par une très grosse application professionnelle pour faire tourner plus de 1000 tests d'IHM en moins de 10 minutes.

Discussions similaires

  1. [XSD] comment faire des tests sur des éléments
    Par attila771 dans le forum Valider
    Réponses: 1
    Dernier message: 11/10/2007, 12h32
  2. Comment faire des tests à grande echelle?
    Par kisitomomotene dans le forum Test
    Réponses: 2
    Dernier message: 16/12/2006, 20h48
  3. Faire des test dans une base de donnée
    Par kj_83 dans le forum C++Builder
    Réponses: 15
    Dernier message: 06/07/2006, 09h54
  4. [SQL] Récupération éventuelle d'une variable pour faire des tests
    Par mougeole dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/05/2006, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo