【问题标题】:Getting MalformedURLException when using inputStream in JUnit在 JUnit 中使用 inputStream 时出现 MalformedURLException
【发布时间】:2011-08-31 04:04:13
【问题描述】:

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

我试图在我的 JUnit 测试中复制这个过程,方法是使用与 RSS 提要结构相同的本地 XML 文件。当我尝试使用以下方式加载它时:

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

当解析器的这一行被命中时,我得到一个 MalformedURLException:

XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(inputStream);

谁能阐明我将如何在我的测试中正确复制该功能?这是我们会使用 EasyMock 的东西吗(我不知道,因为我从未使用过它)。

提前致谢。

【问题讨论】:

  • 你能发布堆栈跟踪吗?

标签: java junit inputstream


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你应该有吗

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

    【讨论】:

    • 刚刚尝试了您的建议,但仍然出现异常。不过感谢您的建议。
    猜你喜欢
    • 2019-08-11
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2012-07-12
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多