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

前端之家收集整理的这篇文章主要介绍了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中)

猜你在找的Java相关文章