Как протестировать запрос динамо с помощью QueryEnhancedRequest с JunitJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как протестировать запрос динамо с помощью QueryEnhancedRequest с Junit

Сообщение Anonymous »

У меня возникли проблемы с написанием JUnits для моего запроса DynamoDB. Вот исходный код:

Код: Выделить всё

PageIterable pages = table.query(queryEnhancedRequest);

for(Page page : pages) {
if(page.items() != null) {
tableItems.addAll(page.items());
}
}
Мой тест выглядит так:

Код: Выделить всё

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 заявляет, что не может издеваться над Пейджем, потому что «Mockito не может издеваться/шпионить, потому что: Final class».


Подробнее здесь: https://stackoverflow.com/questions/793 ... with-junit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»