Catégorie: TDD
27.04.07
Mock JavaMail
Testing JavaMail applications is more difficult than necessary, because it involves in a lot of set up outside the test program. Doing this correctly in a portable way so that anyone in your team can run the test is almost impossible.
06.02.06
Selenium IDE
Un outils de création de tests fonctionnels sous Firefox.
Vraiment impressionant !
10.01.06
Comment tester de manière unitaire la compatibilité de sérialisabilité d'une classe
Début de réflexion intéressante sur cette problématique.
Permet d'envisager de tester unitairement la possibilité de conserver les sessions en cours lors du redéployement à chaud de la nouvelle version d'une application.
19.04.05
Spring AOP Concise proxy definitions
Le seul point qui m'ennuyait au sujet de l'approche déclarative de la gestion des transactions qu'offre Spring était la crainte de voir fleurir les définitions de bean.
Spring offre une solution très élégante à ce problème avec les templates de bean. En effet, il est possible de définir un bean comme abstrait, en l'occurence le TransactionProxyFactoryBean en spécifiant par exemple le type de propagation par défaut et d'en faire hériter tous les beans de services métiers.
Cette solution est vraiment très élégante, absolument pas intrusive. Les services métiers n'ont aucune connaissance de la notion même de transactions. Et surtout, elles n'ont pas a prendre les précautions inhérentes à l'ouverture et à la terminaison d'une transaction. Ce n'est pas sorcier, mais multiplié par le nombre de services que peut compter une grosse application entreprise, une étourderie est vite faite.
Il y a deux arbres d'héritage parallèles, celui des services métiers purement objet, et celui des définitions de bean de ces même services.
Un autre point, je me méfiais du fait que c'est implémenté à l'aide de l'AOP, qui est tout de même relativement nouveau et qui est difficile à présenter à un DSI ...
Et bien, finalement, il s'avère que cette technique peut même apporter encore plus de contrôle et de possibilité de tests de qualité. En effet, si la gestion des transactions est faite par les services eux-même, et bien il est très difficile sinon pas envisageable de s'assurer que les transactions sont bien gérées sans se farcir la lecture du code source de tous les services.
Or avec l'approche de Spring, et bien il est tout à fait envisageable d'instancier le contexte dans un test unitaire qui irait étudier la définition de tous les proxy transactionnels pour vérifier que toutes les méthodes des services sont bien couvertes par un intercepteur. C'est définivement une piste à suivre !
16.04.05
Continuous Testing Eclipse plugin
Un plugin pour Eclipse permettant d'executer les tests unitaires en tâche de fond en continue sur les cycles inutilisés du poste de développement.
C'est très original et ambitieux, je suis curieux de voir ce que ça donne ![]()
26.02.05
ONess sample webapp
ONess est une démonstration technologique.
ONess is a sample webapp application using latest open source technologies.
Unlike Appfuse, from Matt Raible, ONess is not a start point, it's real-world modular designed app that can be used as a sample of technology integration, showing best practises, utilities and real world examples. As disadvantage ONess is not implemented in different technologies, only one in each field, but provides better integration advices, ONess is bigger than Appfuse. Something that ONess uses and Appfuse doesn't is Maven.
ONess also provides a set of reusable business components available to be used in real world apps.
Its development started as a University project in the University of A Coruña (Spain).
03.02.05
HtmlUnit
Une alternative à HttpUnit qui se base sur le document HTML plutôt que sur la requète HTTP. C'est très intéressant dans la mesure où le modèle mémoire du document HTML exposé est fiable. Ce qui est très intéressant, c'est que le javascript, dans une certaine mesure est interprété (Le moteur javascript utilisé est Mozilla Rhino), il est possible de tester le résultat de l'éxecution de code javascript à l'intérieur de la page HTML.
HtmlUnit is a java unit testing framework for testing web based applications. It is similar in concept to httpunit but is very different in implementation. Which one is better for you depends on how you like to write your tests. HttpUnit models the http protocol so you deal with request and response objects. HtmlUnit on the other hand, models the returned document so that you deal with pages and forms and tables.
08.10.04
jMock
jMock is a library for testing Java code using mock objects.
Mock objects help you design and test the interactions between the objects in your programs.
The jMock package:
- makes it quick and easy to define mock objects, so you don't break the
rhythm of programming.- lets you define flexible constraints over object interactions, reducing
the brittleness of your tests.- is easy to extend.
01.06.04
Clover
Your project has a good set of unit tests, and JUnit's green bar of goodness gives you a sense of confidence that your code base is well tested. But how well do those tests actually test the code base? What code are the tests actually testing? What code isn't being tested? Is the test suite getting out of date?
S'intègre avec Eclipse notemment.
14.04.04
Jakarta Cactus - Testing server-side java code
Le projet Cactus permet d'éxecuter des jeux de test JUnit dans un environnement serveur telle qu'une servlet.
On peut trouver le wiki ici.
En particulier, le projet dérivé StrutsTestCase permet d'effectuer des test JUnit dans le cadre d'un projet Struts. Il permet deux approches, la 1e consiste en simulant un serveur de servlet, l'autre consiste à effectuer les jeux de test directement dans une instance de sevveur de servlet.