Junit va tester le service de ressorts et la couche DAO
je travaille sur une application de printemps (Spring 3.0) et suivant architecture en couches i.e. Controller -> Service -> DAO layers
.
je veux écrire des cas de test unitaires pour la couche service et DAO en utilisant Junit.
J'ai vérifié le Site Officiel du printemps et j'ai aussi essayé de nombreux autres sites, mais je n'ai pas pu trouver une façon simple et facile de le faire.
quelqu'un Peut-il me fournir des ressources utiles ?
modifier :
Ressemble Mockito est la bonne option. Tout bon lien pour l'utiliser au Printemps.
Merci Alex de l'avoir suggéré.
2 réponses
en termes de ressources la documentation de printemps sur les tests est très bonne. Cela peut être trouvé ici.
lorsque vous testez votre couche service, vous voulez utiliser une bibliothèque moqueuse telle que Mockito pour vous moquer de vos DAOs et donc de votre couche domaine. Cela garantit qu'ils sont de vrais tests unitaires.
ensuite, pour tester l'intégration de votre DAOs par rapport à une base de données, vous pouvez utiliser les utilitaires de test transactionnel de printemps décrits dans cette documentation de référence.
Je ne sais pas grand chose sur les ressources, mais ce n'est pas si difficile à faire si vous avez votre DAO + spring bien configuré. Vous aurez besoin des éléments suivants:
JUNIT dependencies obivously. avec maven, quelque chose comme ça:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> </dependency>
la classe test, que vous placez dans src / test / java:
@TransactionConfiguration(defaultRollback = true) @ContextConfiguration({ "classpath:test-spring-context.xml" }) @Transactional @RunWith(SpringJUnit4ClassRunner.class) public class SomeTests { // ... }
le fichier de contexte pour votre installation de printemps faisant référence à votre source de données DAO placée dans src/test / resources. Quelque part dans votre test-printemps-contexte.xml:
<import resource="datasource-test.xml" />
maintenant par exemple dans eclipse vous pouvez exécuter le projet comme un test JUNIT.
vous avez besoin de plus de détails? La solution est-elle applicable?