java - 在 JUnit 中使用 inputStream 时出现 MalformedURLException

标签 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 的目的吗(我不知道,因为我从未使用过它)。

提前致谢。

最佳答案

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

关于java - 在 JUnit 中使用 inputStream 时出现 MalformedURLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097852/

相关文章:

java - 将 junit 测试加载到不同的 jvm

java - 有没有办法在 Mockito 运行的测试中 AutoWire WebApplicationContext

java - 在我的 spring 静态资源上读取文件始终为 null

java - 如何通过Java程序连接opc kepware服务器,无需用户名和密码?

java - 我可以让某个值对所有类都可见吗? (安卓)

java - 尝试反转整数的数字时出错

android - 如何测试 Android ActionBar 子菜单?

java - 如果输入流的合并 Flowable 已关闭,如何继续合并 Flowable,RxJava 2.x

c++ - 将原始类型的值从标准输入读入变量

Java 异常和内部异常,我这样做正确吗?