因此,我正在使用 JUnit 为 RSS 解析器应用程序编写一些单元测试。我尝试测试的部分采用 URL 并打开到它的连接 (HttpURLConnection),然后将其 inputStream 传递到解析器 (connection.getInputStream())。进入解析器后,从输入流创建一个新的 XMLEventReader。
我试图通过使用与 RSS 提要结构相同的本地 XML 文件在我的 JUnit 测试中复制此过程。当我尝试使用以下方式加载它时:
this.getClass().getResourceAsStream("/localXmlFile.xml");
当解析器的这一行被命中时,我会抛出 MalformedURLException:
XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(inputStream);
任何人都可以阐明我如何在测试中正确复制功能吗?这是我们使用 EasyMock 的目的吗(我不知道,因为我从未使用过它)。
提前致谢。
最佳答案
我不认为 inputFactory.createXMLEventReader(inputStream);
会抛出 MalformedURLException 因为基于 Javadoc ,该 API 抛出 XMLStreamException。在我看来,您的 JUnit 测试似乎有一些悬空 URL
对象,这些对象会导致 MalformedURLException。
关于java - 在 JUnit 中使用 inputStream 时出现 MalformedURLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097852/