所以我正在使用JUnit为RSS解析器应用程序编写一些单元测试。我正在尝试测试的部分获取一个URL并打开一个连接(HttpURLConnection),然后将其inputStream传递给一个解析器(connection.getInputStream())。进入解析器后,从输入流创建一个新的XMLEventReader。
我正在尝试通过使用与RSS源相同结构的本地XML文件在我的JUnit测试中复制此过程。当我尝试使用以下内容加载时:
this.getClass().getResourceAsStream("/localXmlFile.xml");
当遇到解析器的这一行时,我抛出了MalformedURLException:
XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(inputStream);
任何人都可以了解我如何在我的测试中正确复制功能?这是我们将使用EasyMock的东西(我不知道,因为我从未使用过它)。
提前致谢。
答案 0 :(得分:2)
我认为inputFactory.createXMLEventReader(inputStream);
不会抛出MalformedURLException,因为基于Javadoc,该API会抛出XMLStreamException。在我看来,你的JUnit测试有一些悬空的URL
对象会导致MalformedURLException。
答案 1 :(得分:1)
可能是你应该
this.getClass().getResourceAsStream("localXmlFile.xml");