【问题标题】:Android Studio with Java Library Module Unable to load test resources带有 Java 库模块的 Android Studio 无法加载测试资源
【发布时间】:2014-07-21 16:52:08
【问题描述】:

我有一个带有 Java 库内部模块的 Android Studio 项目,该模块具有测试资源的测试。然而,当我运行测试时,我无法检索工件。这似乎在纯 java gradle 项目中运行良好(至少在 eclipse 中)。

对于java插件的含义:

src/main/java
src/main/test
src/test/java
src/test/resources

在资源目录下,我有一个我想在我的 junit 测试中加载的 crt 文件。当使用我遇到的任何命令时,它会为资源返回 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

谢谢

【问题讨论】:

  • 我发现在 android studio 中使用 gradle 命令 'test' 是可行的。

标签: gradle android-studio


【解决方案1】:

原来这似乎是 Intellij 的一个错误,以及 Gradle 没有正确设置测试源集的资源目录。

将此添加到模块的 build.gradle 修复它:

sourceSets {
   test {
      output.resourcesDir = output.classesDir
   }
}

【讨论】:

【解决方案2】:

除了将资源分散到类输出目录(如 nibbuen 所建议的那样)之外,还可以不触及输出目录并将其显式添加为依赖项。

dependencies {
  runtime files(sourceSets.test.output.resourcesDir)
}

【讨论】:

  • 试过了。但是构建目录没有测试资源。
猜你喜欢
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多