我有以下课程,我想进行单元测试:
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
中,单元测试与上述类位于同一个包中。我怎样才能解决这个问题?
答案 0 :(得分:1)
您可以使用Google的Guava库获取任何资源的路径。
URL myFileLocation=Resources.getResource("myFile.txt");