So testen Sie eine Dynamo-Abfrage mit QueryEnhancedRequest mit JunitJava

Java-Forum
Guest
 So testen Sie eine Dynamo-Abfrage mit QueryEnhancedRequest mit Junit

Post by Guest »

Ich habe Probleme beim Schreiben von JUnits für meine DynamoDB-Abfrage. Hier ist der Originalcode:

Code: Select all

PageIterable pages = table.query(queryEnhancedRequest);

for(Page page : pages) {
if(page.items() != null) {
tableItems.addAll(page.items());
}
}
Mein Test sieht so aus:

Code: Select all

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import software.amazon.awssdk.enhanced.dynamodb.DynamoDBTable;
import software.amazon.awssdk.enhanced.dynamodb.Page;
import software.amazon.awssdk.enhanced.dynamodb.PageIterable;
import software.amazon.awssdk.enhanced.dynamodb.QueryEnhancedRequest;

@RunWith(MockitoJUnitRunner.class)
public class AccountRepositoryTest {
@Mock
private DynamoDbTable  myTable;
@Mock
private PageIterable pages;
@Mock
private Iterator iterator;
@Mock
private Page page;

@Test
public void testGetAccountData_Success() {
when(myTable.query(queryEnhancedRequest)).thenReturn(pages);
when(pages.iterator()).thenReturn(iterator);
when(iterator.hasNext()).thenReturn(true, false);
when(iterator.next()).thenReturn(page);
...
Mockito sagt, dass es Seite nicht verspotten kann, weil „Mockito nicht verspotten/ausspionieren kann, weil: letzte Klasse“.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post