gpt4 book ai didi

java - 无法从生产类访问测试资源

转载 作者:行者123 更新时间:2023-12-02 12:56:21 32 4
gpt4 key购买 nike

我想对以下类进行单元测试:

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 文件夹 中。我怎样才能解决这个问题?

最佳答案

您可以使用 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-

关于java - 无法从生产类访问测试资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44417360/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com