Intereting Posts
Включение режима «навигации» в API-интерфейсе skobbler android Реалии использования QT C ++ для написания приложения для кросс-платформенных телефонов Как установить размер значка в TabLayout? Org.json.JSONException: Unterminated object at character 14 Как найти значение в firebase Android Постоянное прослушивание телефона для голосового ввода Использовать видеочат в фоновом режиме, например, Skype с помощью WebRTC на Android Значок поиска на мягкой клавиатуре Поиск приложений для Android с помощью разрешений, возможностей и намерений Android обратный модем или доступ к локальной сети или интернету с использованием USB-кабеля Предупреждение: AndroidManifest.xml уже определяет versionCode Как установить тайм-аут в Retrofit-2.0 + android Сколько памяти занимает каждый процесс Android? Как сделать панель контекстного ActionMode наложением панели инструментов appcompat-v7, но не ящиком навигации? Горизонтальный вид прокрутки: действительно ли это решение?

Параметры Jvm в android при выполнении теста gradlew

У меня есть проект, который использует Robolectric для целей единичного тестирования. Этот проект использует Robolectric 3.0 и ему необходимо добавить -ea и -noverify опции виртуальной машины.

В Android Studio я создал новую конфигурацию JUnit в Run > Edit Configurations... а затем установите VM Options на « -ea -noverify . Таким образом, я успешно выполняю свой модульный тест. Это изображение о моей настройке, смотрите здесь

Однако для непрерывного развертывания мне нужно выполнить единичный тест с командной строкой. Поэтому я использую ./gradlew test для запуска модульного теста. Я также добавляю org.gradle.jvmargs=-ea -noverify в файл gradle.properties . К сожалению, это не сработает. Я могу запустить модульный тест, но у меня есть java.lang.VerifyError и я думаю, что gradle.properties не был загружен.

Итак, мой вопрос: как сделать загрузку gradle.properties или вы знаете какой-либо способ исправить мою проблему с параметрами vm?

Это уже ответ, но это может быть проще:

Добавьте build.gradle файл build.gradle в свои приложения в закрытие Android.

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

Я обнаружил, что мы можем добавить этот блок в файл build.gradle для решения этой проблемы

 tasks.whenTaskAdded { theTask -> def taskName = theTask.name.toString() if ("testDevDebug".toString().equals(taskName)) { theTask.jvmArgs('-ea', '-noverify') } } 

DevDebug – мой вариант сборки.

Может быть, это

  ./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test