java – 在Gradle环境中的JUnit测试中访问文件

现在我有一个 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中)

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...