现在我有一个
Java库,它有一个测试类.在该类中,我想访问位于我的硬盘上的一些文件.
build.gradle看起来像这样:
apply plugin: 'java' dependencies { testCompile 'junit:junit:4.11' }
我的文件在java_lib / src / test / assets / file.xml下,Java类位于java_lib / src / test / java /< package_name> .java
所以我执行
最终的InputStream resourceAsStream = this.getClass().getResourceAsStream(“assets / file.xml”);
不幸的是我得到了null我究竟做错了什么?
解决方法
要滚动的东西你需要添加以下到gradle文件:
task copyTestResources(type: Copy) { from "${projectDir}/src/test/resources" into "${buildDir}/classes/test" } processTestResources.dependsOn copyTestResources
它基本上是将src / test / resource目录中的所有文件复制到build / classes / test,因为this.getClass().getClassLoader().getResourceAsStream(“.”)指向build / classes / test.
issue是Google已经知道的,他们想在Android Studio 1.2中修复(因为他们需要IntelliJ14,似乎它将被包含在Android Studio 1.2中)