Как вызвать XMLStreamException в классе Test - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужно покрыть XMLStreamException в моем JUnit, но я не знаю, как вызвать это исключение. Вот мой фрагмент кода в моем классе

    try {
        writer.add(factory.createStartElement("", "", BatchConstants.HEADER));
        writer.add(factory.createStartElement("", "", BatchConstants.MESSAGE_TYPE));
        writer.add(factory.createCharacters(BatchConstants.LPR_ENTITY));
        writer.add(factory.createEndElement("", "", BatchConstants.MESSAGE_TYPE));
        writer.add(factory.createStartElement("", "", BatchConstants.SEND_DATETIME));
        writer.add(factory.createCharacters(batchProcessControlEntity.getCreatedDt().toString()));
        writer.add(factory.createEndElement("", "", BatchConstants.SEND_DATETIME));
        writer.add(factory.createEndElement("", "", BatchConstants.HEADER));
    } catch (XMLStreamException e) {
        this.logger.logError(e.getMessage(), e);
    }

Я могу покрыть тест вышеупомянутого фрагментаиспользуя это

    @Test
    public void testWrite() throws IOException, XMLStreamException {

    BatchProcessControlEntity batchProcessControlEntity = new BatchProcessControlEntity();
    batchProcessControlEntity.setCreatedDt(new Date());
    Mockito.when(this.batchProcessControlJpaRepository.findByBatchProcessCtrlId(Matchers.anyObject()))
        .thenReturn(batchProcessControlEntity);

    XMLEventWriter eventWriter = Mockito.mock(XMLEventWriter.class);

    this.headerWriter.write(eventWriter);
}

, но я не знаю, какой ввод мне нужен, чтобы вызвать исключение XMLStreamException.Спасибо заранее.

1 Ответ

0 голосов
/ 19 февраля 2019

Вы используете метод doThrow для mockito.

Пример кода для развлечения:

XMLEventWriter eventWriter = Mockito.mock(XMLEventWriter.class);
doThrow(new XMLStreamException("This is my exception"))
        .when(eventWriter)
        .add(any(XMLEvent.class));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...