Nous avons une application Eclipse RCP plutôt plus grande et nous ne savons pas comment tester correctement ses plugins.Comment tester JUnit efficacement Plugins Eclipse RCP
- Pour chaque module, un fragment de test contient des tests unitaires.
- Pour les tests plus petits, qui ne nécessitent pas l'exécution de la plate-forme RCP, nous appelons simplement le coureur de test JUnit "standard".
- Pour les tests, qui nécessitent la plate-forme RCP, il y a la possibilité de le tester à l'aide du lanceur de test plugin JUnit.
- Pour les tests de plug-ins JUnit, il est possible de définir quels plug-ins sont chargés lorsque la plate-forme RCP démarre.
Problème: Exécution JUnit Tests de Plugin prend beaucoup de temps (secondes au lieu de millicseconds pour simple test JUnit) et des ressources, depuis la plate-forme RCP et tous les plugins doivent commencer.
Question: Comment puis-je réduire efficacement les plugins qui sont exécutés pour le test? Quelles options ai-je pour minimiser mes dépendances avec la plate-forme RCP (telles que le service de préférences et les points d'extension)? Y a-t-il peut-être des bibliothèques Mocking ou au moins quelques bonnes pratiques pour se moquer des services de plate-forme RCP?
En ce moment, je ne peux pas imaginer faire un peu TDD décent avec le lanceur de test plugin JUnit, il faut trop de temps pour exécuter ces tests.
Tous les conseils et l'expérience sur ce sujet sont les bienvenus!
Bonne réponse. Rappelle cette recommandation de base dans l'un des livres de Robert Martin: * dans la mesure du possible, écrivez des POJO afin que vous puissiez correctement tester leur logique *. – GhostCat
Merci pour votre contribution! Je suis d'accord, j'essaie de garder la plateforme à l'écart de tout ce qui est possible. Malheureusement, je ne suis pas le seul à écrire du code;) L'encapsulation du modèle d'application, de la plateforme et des préférences/UI n'est pas vraiment là pour de nombreuses classes. Les refactorisations pour optimiser la testabilité sont dangereuses, puisque le code n'est pas correctement testé;) et parlant d'expérience, elles ont parfois des effets secondaires étranges et cassent des choses. – kerner1000