Android test de l'unité ne se moque pas
J'ai suivi ce guide
https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support
mais je suis coincé avec cette erreur:
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.
J'ai modifié par Gradle construire comme dit le guide, mais il ne fait pas de différence
testOptions {
unitTests.returnDefaultValues = true
}
- Nous avons besoin de plus d'informations. Ajouter un peu de code, expliquer ce que vous essayez d'atteindre. Unité de test au format JSON (de)sérialiseur?
Vous devez vous connecter pour publier un commentaire.
JSON est fourni avec le SDK Android, de sorte que vous aurez juste être frapper un stub. Vous pouvez tirer dans un JSON pot, qui offrira des objets à utiliser.
Pour ce faire, vous aurez besoin de l'ajouter à votre construction.gradle:
testCompile 'org.json:json:20140107'
Alternativement, vous pouvez télécharger et inclure le pot.
Noter que la dernière version de JSON est construit pour Java 8, de sorte que vous aurez besoin de saisir Vingt million cents quarante mille cents sept
testCompile 'org.json:json:20140107'
est très bien.org.json:json:20080701
, qui correspond à la version d'Android. Dans cette version,getString()
retourne null si la valeur est json est nul, au lieu de lancer une exception.Je pense que vous tentez d'exécuter des tests avec
org.json.JSONObject
qui fait partie deAndroid Framework
sur purjUnit
.De docs:
Vous avez besoin d'émuler Android environnement que vous pouvez utiliser à cette fin Robolectric ou InstrumentationTests
}