【问题标题】:JUnit Classpath for InputStreamInputStream 的 JUnit 类路径
【发布时间】:2012-09-19 00:46:21
【问题描述】:

我的项目包中的位置有一个 JUnit 测试:

Java Resources > unittests > ActionTest.java

我正在尝试在我的一项测试中使用 InputStream,该测试将接收位于我的项目包另一部分的静态文件:

WebRoot > TestFiles > sampleFile.txt

有没有办法以某种方式将文件的类路径传递给 InputStream?或者我是否需要将 sampleFile.txt 移到项目中的其他位置?

我尝试过像这样定义 InputStream:

InputStream fileStream = getClass().getResourceAsStream("sampleValidPatientList.txt");

【问题讨论】:

    标签: unit-testing junit classpath inputstream


    【解决方案1】:

    如果 WebRoot/TestFiles 在类路径中,这将起作用。

    我一般会创建一个 /test-resources 文件夹并将测试数据放入其中。如果我将它添加到测试 CLASSPATH 我的测试总能找到它们。

    【讨论】:

    • 抱歉,我还是有点不知道该怎么做。如果我的 JUnit 测试位于 Project > Java Resources > unittests > ActionTest.java 中,那么我应该将我的 sampleFile.txt 移动到 Project > Java Resources > unittests > sampleFile.txt 吗?它目前位于Project > WebRoot > TestFiles > sampleFile.txt,我不确定如何配置 Eclipse 以使 InputStream 读取到该路径。
    • 将其添加到测试类路径。右键单击该文件夹,看看是否有选择。或者,更好的是,使用更好的 IDE - IntelliJ。我不明白为什么 Eclipse 如此受欢迎。
    猜你喜欢
    • 2012-12-29
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 2018-07-12
    相关资源
    最近更新 更多