Получение MalformedURLException при использовании inputStream в JUnit - PullRequest
1 голос
/ 23 мая 2011

Итак, я пишу некоторые модульные тесты, используя JUnit для приложения парсера RSS. Часть, которую я пытаюсь протестировать, берет URL и открывает соединение с ним (HttpURLConnection), а затем передает inputStream этого в анализатор (connection.getInputStream ()). Оказавшись в анализаторе, создает новый XMLEventReader из входного потока.

Я пытаюсь повторить этот процесс в моих тестах JUnit, используя локальный файл XML той же структуры, что и RSS-лента. Когда я пытаюсь загрузить это с помощью:

this.getClass().getResourceAsStream("/localXmlFile.xml");

Я получаю исключение MalformedURLException, когда эта строка анализатора нажата:

XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(inputStream);

Может ли кто-нибудь пролить свет на то, как я буду правильно копировать функциональность в моих тестах? Это то, для чего мы будем использовать EasyMock (я не знаю, так как никогда не использовал).

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

Я не думаю, что inputFactory.createXMLEventReader(inputStream); выдает исключение MalformedURLException, потому что на основе Javadoc этот API генерирует исключение XMLStreamException. Мне почти кажется, что в ваших тестах JUnit есть некоторые висячие URL объекты, которые вызывают MalformedURLException.

1 голос
/ 23 мая 2011

Может быть, у вас должно быть

this.getClass().getResourceAsStream("localXmlFile.xml");
...