android - 运行 gradlew 测试时 android 中的 Jvm 选项

标签 android unit-testing gradle android-gradle-plugin robolectric

我有一个项目使用 Robolectric 进行单元测试。本项目使用 Robolectric 3.0,需要在 Virtual Machine options 中添加 -ea-noverify 选项。

在 Android Studio 中,我在 Run > Edit Configurations... 中创建了新的 JUnit 配置,然后将 VM Options 设置为 -ea -noverify。通过这种方式,我成功地运行了我的单元测试。这是关于我的配置的图像,查看 Here

但是,对于持续部署,我需要使用命令行运行单元测试。所以我使用 ./gradlew test 来运行单元测试。我还将 org.gradle.jvmargs=-ea -noverify 添加到 gradle.properties 文件。不幸的是,它不起作用。我可以运行单元测试,但我得到了 java.lang.VerifyError 并且我认为 gradle.properties 没有加载。

所以,我的问题是,如何加载 gradle.properties 或者您知道解决我的 vm 选项问题的任何方法吗?

最佳答案

已经回答了,但这可能是一个更简单的解决方案:

在你的应用程序模块的 build.gradle 文件中的 android 闭包中,添加这个。

android {
  ....

  testOptions {
    unitTests.all {
      jvmArgs '-noverify'
    }
  }
}

关于android - 运行 gradlew 测试时 android 中的 Jvm 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315978/

相关文章:

android - 如何解析维度字符串并将其转换为维度值

java - 在第一个和第三个 Activity 之间传递数字

python - 使用 Python 模拟监视对现有对象的调用

spring-boot - 从 Spring Boot 1.5.10 迁移到 2.0.0 时无法解决依赖关系

java - 线程 "main"java.net.UnknownHostException : services. gradle.org 中的异常

代码 View 中的 Android Studio 空指针警告/通知

android - 如何使 Activity (使用 Theme.dialog 显示)占据大部分屏幕 - Android

c# - 主菜单中缺少 Visual Studio TEST

java - 三叶草:它是如何工作的?

gradle - Groovy @Slf4j 注释 : "Class path contains multiple SLF4J bindings"