Насмешка над автопроводным полем с использованием mockito дает нулевой ответ при вызове покоя - PullRequest
0 голосов
/ 22 октября 2019

Я использую пружинный ботинок и мокито. Я автоматически подключил один класс, т.е. BDSRequest, а в классе Junit Test я использовал аннотации @Spy и @InjectMocks. но при вызове служб отдыха в Junits я получаю ответ (bdsCustomerHoldings) как ноль, и утверждение не удается. Как протестировать этот вызов покоя с помощью шаблона mockito.when (restTemplate.postForObject (Constants.BDS_REST_URL, bdsRequest, BDSCustomerHoldings.class)?

class BDSRestCall
{

    @Autowired
    BDSRequest bdsRequest;

    public BDSCustomerHoldings getBDSCustomerInfo(String channelId, String customerId, String cinSuffix,
            String countryCode) {

        logger.info("prepareRequestForBDS");
        Header header = new Header();
        header.setMsgId(RandomStringUtils.randomAlphanumeric(20));
        header.setChannelId(channelId);
        header.setCountryCode(countryCode);
        header.setRecordTimeStamp(DateTimeFormatter.ofPattern(Constants.DATE_FORMATTER).format(LocalDateTime.now()));

        TxnRequest txnRequest = new TxnRequest();
        txnRequest.setIdDoc(customerId);
        txnRequest.setIdDocSuffix(cinSuffix);
        txnRequest.setIdDoctype("");
        txnRequest.setInsurerCode("");

        bdsRequest.setHeader(header);
        bdsRequest.setTxnRequest(txnRequest);

        logger.info("BDS request " + bdsRequest);

        BDSCustomerHoldings bdsResponse = restTemplate.postForObject(Constants.BDS_REST_URL, bdsRequest,
                BDSCustomerHoldings.class);
        logger.info("BDS Response : " + bdsResponse);

        return bdsResponse;
    }
}

Junit:

@RunWith(MockitoJUnitRunner.class)
class BDSRestCallTest
{
    @InjectMocks
    private BDSRestCall bdsRestCall;

    @Mock
    private RestTemplate restTemplate;

    @Spy
    private BDSRequest bdsRequest;



    @Test
        public void getBDSCustomerInfoExceptionTest() {
            BDSCustomerHoldings bdsCustomerHoldings = bdsRestCall.getBDSCustomerInfo("SG", "S9718016D",
                    "00", "SG");
            System.out.println("response is " + bdsCustomerHoldings);
            assertNotNull("response is not null", bdsCustomerHoldings);
        }

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