Hier ist meine Frage:Wie funktioniert Mockito @InjectMocks?
Ich habe mehrere Web-Services-Klassen zu testen, dass alle ihre Methoden von einem generischen Service erben. Anstatt für jeden einen Komponententest zu schreiben, denke ich, dass ich die Testsuite um funktionale Bereiche (d. H. Drei Gruppen von Testmethoden, von denen sich jede auf einen anderen zugrunde liegenden DAO-Methodenaufruf stützt) unterteilen kann.
Was ich vorschlagen zu tun ist:
@Mock StateDAO mockedStateDao;
@Mock CountyDAO mockedCountyDao;
@Mock VisitorDAO mockedVisitorDao;
dann rufen:
@InjectMocks CountyServiceImpl<County> countyService = new CountyServiceImpl<County>();
@InjectMocks StateServiceImpl<State> stateService = new StateServiceImpl<State>();
@InjectMocks VisitorServiceImpl<Visitor> visitorService = new VisitorServiceImpl<Visitor>();
Wie kann ich sicher sein, dass jeder mockedDAO wird in den richtigen Dienst injiziert werden? Wäre es einfacher alle drei zu autowire (anstatt @InjectMocks zu verwenden)?
Ich verwende Spring, Hibernate und Mockito ...
Wird innerhalb dieses Testklasse tun. – DYezek
Außerdem habe ich die Elemente für @InjectMocks bereits in der Spring Test-Application-Context.xml-Datei (so könnte ich sie automatisch). Nicht sicher über den Unterschied zwischen Autowiring und injizierenden Mocks. – DYezek
Bearbeiten Sie Ihre ursprüngliche Frage, um zusätzlichen Inhalt hinzuzufügen, anstatt Kommentare zu Ihrer Frage zu hinterlassen. – ArtB