无法从生产类

时间:2017-06-07 15:47:31

标签: java unit-testing junit

我有以下课程,我想进行单元测试:

class PropsProvider {

    String propsfileLocation;

    void init() {
        Path path = getPropsPath();
        loadPropertiesFromPath(path);
    }

    private Path getPropsPath() throws URISyntaxException {
        URI fileUri = new URI(propsfileLocation);
        return Paths.get(fileUri); // << failure here
    }

    // ...

}

我正在对上述课程进行单元测试,并且我在Paths.get(fileUri)行上遇到了失败。我得到一个IllegalArgumentException。我从单元测试中传递了相对路径,即src/test/resources/app.properties。我相信这是因为我没有包含前缀file:。尽管在/src/test/java folder中,单元测试与上述类位于同一个包中。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用Google的Guava库获取任何资源的路径。

URL myFileLocation=Resources.getResource("myFile.txt");

了解更多信息,请点击此处。 http://google.github.io/guava/releases/22.0/api/docs/com/google/common/io/Resources.html#getResource-java.lang.Class-java.lang.String-