android 中的 Jvm 选项 when 运行 gradlew test
Jvm options in android when run gradlew test
我有一个项目使用 Robolectric 进行单元测试。本项目使用Robolectric 3.0,需要在虚拟机选项中添加-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 选项问题的任何方法吗?
也许这个
./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test
我发现我们可以将这个块添加到应用程序的 build.gradle 来解决这个问题
tasks.whenTaskAdded { theTask ->
def taskName = theTask.name.toString()
if ("testDevDebug".toString().equals(taskName)) {
theTask.jvmArgs('-ea', '-noverify')
}
}
DevDebug
是我的构建变体。
已经回答了,但这可能是一个更简单的解决方案:
在 android 闭包中的应用程序模块的 build.gradle
文件中,添加此内容。
android {
....
testOptions {
unitTests.all {
jvmArgs '-noverify'
}
}
}
我有一个项目使用 Robolectric 进行单元测试。本项目使用Robolectric 3.0,需要在虚拟机选项中添加-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 选项问题的任何方法吗?
也许这个
./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test
我发现我们可以将这个块添加到应用程序的 build.gradle 来解决这个问题
tasks.whenTaskAdded { theTask ->
def taskName = theTask.name.toString()
if ("testDevDebug".toString().equals(taskName)) {
theTask.jvmArgs('-ea', '-noverify')
}
}
DevDebug
是我的构建变体。
已经回答了,但这可能是一个更简单的解决方案:
在 android 闭包中的应用程序模块的 build.gradle
文件中,添加此内容。
android {
....
testOptions {
unitTests.all {
jvmArgs '-noverify'
}
}
}