Тест на Android-модуле не издевался

Я выполнил это руководство https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support, но я застрял в этой ошибке:

junit.framework.AssertionFailedError: Exception in constructor: testSaveJson (java.lang.RuntimeException: Method put in org.json.JSONObject not mocked. See https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support for details. 

Я модифицировал Gradle build, как говорится в руководстве, но это не имеет значения

  testOptions { unitTests.returnDefaultValues = true } 

Solutions Collecting From Web of "Тест на Android-модуле не издевался"

JSON в комплекте с Android SDK, так что вы просто нажмете заглушку. Вы можете вытащить банку JSON, которая обеспечит использование реальных объектов.

Для этого вам нужно добавить это в свой build.gradle:

testCompile 'org.json:json:20140107'

Кроме того, вы можете загрузить и включить банку.

 testCompile files('libs/json.jar') 

Обратите внимание, что последняя версия JSON построена для Java 8, поэтому вам нужно будет захватить 20140107

Я думаю, вы пытаетесь запустить тесты с org.json.JSONObject который является частью Android Framework на чистом jUnit .

Из документов:

Файл android.jar, который используется для запуска модульных тестов, не содержит никакого реального кода, который предоставляется изображением системы Android на реальных устройствах. Вместо этого все методы генерируют исключения (по умолчанию).

Мы знаем, что поведение по умолчанию является проблематичным при использовании таких классов, как Log или TextUtils, и оценивает возможные решения в будущих выпусках.

Вам нужно подражать среде Android, которую вы можете использовать для этой цели Robolectric или InstrumentationTests