Je suis en train de tester mes services SpringBoot avec Mockito. Le problème est que certains des services que je teste ont des dépendances multiples avec d'autres services et référentiels, ce qui rend difficile l'exécution d'un test sur des niveaux plus profonds du service.Comment tester un Service avec un référentiel Mocked qui a plusieurs autres dépendances (services et repos)?
Par exemple:
La classe "TestService" contient la méthode ci-dessous:
public Test addTagToTest(Long id, Long tagId) {
Tag tag = tagService.getById(tagId);
Test test = getById(id);
test.addTag(tag);
return update(test);
}
Cette classe a une dépendance avec "TagService". Remarque: chaque service a son propre référentiel.
Et c'est la classe de service qui est utilisé par TestService:
@Service
public class TagService extends GenericAbstractService<Tag, TagRepo> {
public Tag getTagByName(String tagName){
Dans mon JUnit classe de test qui contient la méthode @Test, j'ai quelque chose comme ceci:
@Autowired
private TestService testService;
@Mock
private TestRepo repository;
Donc la question est maintenant comment tester mon TestService qui a des dépendances qui ont des dépendances? Tous les dépôts doivent être raillés.
Est-ce que vous chargez le contexte de printemps pour les tests ou simplement les tests unitaires? –
Voir le https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-testing-spring-boot-applications-testing-autoconfigured-jpa-test – Sudhakar