在JUnit中使用inputStream时获取MalformedURLException

时间:2011-05-23 13:26:36

标签: java junit inputstream

所以我正在使用JUnit为RSS解析器应用程序编写一些单元测试。我正在尝试测试的部分获取一个URL并打开一个连接(HttpURLConnection),然后将其inputStream传递给一个解析器(connection.getInputStream())。进入解析器后,从输入流创建一个新的XMLEventReader。

我正在尝试通过使用与RSS源相同结构的本地XML文件在我的JUnit测试中复制此过程。当我尝试使用以下内容加载时:

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

当遇到解析器的这一行时,我抛出了MalformedURLException:

XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(inputStream);

任何人都可以了解我如何在我的测试中正确复制功能?这是我们将使用EasyMock的东西(我不知道,因为我从未使用过它)。

提前致谢。

2 个答案:

答案 0 :(得分:2)

我认为inputFactory.createXMLEventReader(inputStream);不会抛出MalformedURLException,因为基于Javadoc,该API会抛出XMLStreamException。在我看来,你的JUnit测试有一些悬空的URL对象会导致MalformedURLException。

答案 1 :(得分:1)

可能是你应该

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