Ich schreibe Komponententest für meinen Service (ClassUnderTest
) Klasse. Ich verwende @Mock
für alle Datenmitglieder.Vorteile von InjectMocks für ClassUnderTest
Nun, um die ClassUnderTest
zu testen, muss ich ein Objekt für die ClassUnderTest
erstellen.
Ich habe zwei Optionen, Erstellen Sie ein neues Objekt für ClassUnderTest
und senden Sie die Mocks im Konstruktor.
Oder verwenden Sie die @InjectMocks
Annotation für die ClassUnderTest
.
Ich frage mich, sind die beiden Ansätze gleich oder sind sie einige Aufmerksamkeitsvorteile der Verwendung von @InjectMocks
?
@Mock
private NodeLaunchWorkflowService nodeLaunchWorkflowService;
@InjectMocks
private NodeLaunchWorkflowController nodeLaunchWorkflowController;
oder
@Mock
private NodeLaunchWorkflowService nodeLaunchWorkflowService;
private NodeLaunchWorkflowController nodeLaunchWorkflowController;
@Before
public void setUp() throws JSONException {
MockitoAnnotations.initMocks(this);
nodeLaunchWorkflowController = new NodeLaunchWorkflowController(nodeLaunchWorkflowService)
}