我正在使用 Groovy Spock 框架、IntelliJ 和 Bazel 构建系统编写测试。目标是从LamborghiniAventador.obj
位于与测试文件相同的目录中读取测试数据,Model3dImporterSpec.groovy
.
我得到一个java.io.FileNotFoundException
.
def "reading from test file in same directory"() {
given: "some stuff"
//do some stuff here
when: "reading from test file"
def file = Paths.get("LamborghiniAventador.obj").normalize().toFile()
def byteArray = getFileAsByteStream(file.getAbsolutePath())
then: "file should be read and byte array should not be null"
byteArray != null;
}
private static byte[] getFileAsByteStream(String pathToFile) {
return new File(pathToFile).text.getBytes()
}
我在命令行上搜索时文件的路径是:~/Dev/Master/src/test/java/com/censored/api/editor/model3dparsers/LamborghiniAventador.obj
我可以成功地从桌面上的文件中读取,但是一旦我在项目空间中重新定位该文件,事情就会停止工作。
如何从测试文件中读取测试数据,其中测试数据文件和测试文件位于同一目录中。这是 Java (Eclipse) 中的一项简单任务。我查看了大量其他 Stackoverflow 问题都无济于事,所以我认为我在这里严重缺乏理解。除了答案之外,我还想解释一下。
为澄清而编辑