加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:25:07 所属栏目:Java 来源:网络整理
导读:现在我有一个 Java库,它有一个测试类.在该类中,我想访问位于我的硬盘上的一些文件. build.gradle看起来像这样: apply plugin: 'java'dependencies { testCompile 'junit:junit:4.11'} 我的文件在java_lib / src / test / assets / file.xml下,Java类位于jav
现在我有一个 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中)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读