nib*_*uen 10 gradle android-studio
我有一个带有Java库内部模块的Android Studio项目,该模块具有测试资源的测试.然而,当我运行测试时,我无法检索工件.这似乎在纯Java gradle项目中工作得很好(至少在eclipse中).
意思是对于java插件:
src/main/java
src/main/test
src/test/java
src/test/resources
Run Code Online (Sandbox Code Playgroud)
在资源目录下,我有一个crt文件,我想在我的junit测试中加载.当我使用任何命令时,它会为资源返回null.但我已经确认资源在build文件夹中.
我试过的一些事情:
getClass().getClassLoader().getResourceAsStream("cert_format_der.crt").read(); // NPE
getClass().getClassLoader().getResourceAsStream("/cert_format_der.crt").read(); // NPE
getClass().getClassLoader().getSystemResourceAsStream("/cert_format_der.crt").read(); // NPE
Run Code Online (Sandbox Code Playgroud)
谢谢
nib*_*uen 18
事实证明这似乎是Intellij的一个错误,以及Gradle如何正确设置测试源集的资源目录.
将其添加到模块的build.gradle中修复它:
sourceSets {
test {
output.resourcesDir = output.classesDir
}
}
Run Code Online (Sandbox Code Playgroud)
而不是将资源分散到类输出目录 - 正如nibbuen所建议的那样 - 也可以不触及输出目录并将其显式添加为依赖项.
dependencies {
runtime files(sourceSets.test.output.resourcesDir)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |