Spring:Mocking: Unterschied zwischen den Versionen

Aus Alexander's Wiki
(Die Seite wurde neu angelegt: „<syntaxhighlight lang="java"> @Spy private ItemMapper itemMapper = Mappers.getMapper(ItemMapper.class); </syntaxhighlight>Or alternativly to enable spring de…“)
 
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
</syntaxhighlight>Or alternativly to enable spring dependency injection via<syntaxhighlight lang="java">
</syntaxhighlight>Or alternativly to enable spring dependency injection via<syntaxhighlight lang="java">
@SpringBootTest(classes = {ItemMapperImpl.class}).
@SpringBootTest(classes = {ItemMapperImpl.class}).
</syntaxhighlight>Das zweite funktioniert aber nicht so.
</syntaxhighlight>
 
=== Beispiele ===
<syntaxhighlight lang="java" line="1">
Mockito.when(compoundDocumentRepository.save(Mockito.any(CompoundDocumentEntity.class)))
        .thenAnswer(invocation ->
                {
                    CompoundDocumentEntity compoundDocumentEntity = invocation.getArgument(0);
                    compoundDocumentEntity.setCreatedAt(Instant.now());
                    compoundDocumentEntity.setUpdatedAt(Instant.now());
                    return compoundDocumentEntity;
                }
        );
</syntaxhighlight>'''Wenn man eigentlich kein return hat:''' ''(Klammern beachten)''<syntaxhighlight lang="java" line="1">
doAnswer((i) -> {
  List<ServiceState> status = i.getArgument(4);
  status.add(ServiceState.OK);
  return null;
}).when(commentService).updateReply(any(), any(), any(), any(), anyList());
</syntaxhighlight><syntaxhighlight lang="java">
Mockito.when(session.getUser()).thenReturn(user);
</syntaxhighlight><syntaxhighlight lang="java">
ReflectionTestUtils.setField(compoundDocument, "dbId", 5L);
</syntaxhighlight><syntaxhighlight lang="java">
Mockito.anyList()
Mockito.any()
Mockito.any(String.class)
Mockito.anyBoolean()
Mockito.anyInt()
Mockito.anyString()
</syntaxhighlight>

Aktuelle Version vom 5. Dezember 2023, 10:41 Uhr

 @Spy
 private ItemMapper itemMapper = Mappers.getMapper(ItemMapper.class);

Or alternativly to enable spring dependency injection via

@SpringBootTest(classes = {ItemMapperImpl.class}).

Beispiele

Mockito.when(compoundDocumentRepository.save(Mockito.any(CompoundDocumentEntity.class)))
        .thenAnswer(invocation ->
                {
                    CompoundDocumentEntity compoundDocumentEntity = invocation.getArgument(0);
                    compoundDocumentEntity.setCreatedAt(Instant.now());
                    compoundDocumentEntity.setUpdatedAt(Instant.now());
                    return compoundDocumentEntity;
                }
        );

Wenn man eigentlich kein return hat: (Klammern beachten)

doAnswer((i) -> {
  List<ServiceState> status = i.getArgument(4);
  status.add(ServiceState.OK);
  return null;
}).when(commentService).updateReply(any(), any(), any(), any(), anyList());
Mockito.when(session.getUser()).thenReturn(user);
ReflectionTestUtils.setField(compoundDocument, "dbId", 5L);
Mockito.anyList()
Mockito.any()
Mockito.any(String.class)
Mockito.anyBoolean()
Mockito.anyInt()
Mockito.anyString()