Невозможно смоделировать данные, поступающие из класса Mapper, используя mockito - PullRequest
0 голосов
/ 21 марта 2019

Я написал модульный тест с Mockito для тестирования контроллера, где я получаю данные из базы данных, используя mapper.but, например, из-за: @Param("abc") abc параметров в mapper. Я не могу получить проверенные данные.

public class classUnderTest {

    @Mock
    private ProductMapper productMapper;

    List<ProductKey> productKeys;

    String firstName;

    String lastName;


    @Before
    public void setUp() {
        productMapper = Mockito.mock(ProductMapper.class);
        productKeys = new ArrayList<ProductKey>();
        firstName = "John";
        lastName = "Rebbeca";

    }

    @Test
    public void getInsureddetails() {
        Mockito
                .doReturn(productKeys)
                .when(ProductMapper)
                .getProductKeyByInsured(firstName, lastName);
    }
}


public interface ProductMapper{
    public List<ProductKey> getProductKeyByInsured(@Param("firstName")String firstName, @Param("lastName")String lastName);
}

1 Ответ

0 голосов
/ 21 марта 2019

Если вы жестко запрограммировали параметры, то он будет работать только тогда, когда параметры соответствуют жестко закодированным значениям при вызове. Либо вызовите метод со значениями, которые вы жестко закодировали, либо обобщите его следующим образом.

Mockito.when(orderMapper.getOrderKeyByInsured(Matchers.anyString(),Matchers.anyString())).thenReturn(orderKeys);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...