Je souhaite tester l'analyse des données renvoyées par le serveur. J'ai pensé que je pourrais créer plusieurs fichiers XML de test, puis les transmettre à l'analyseur syntaxique qui utilise mon gestionnaire de données personnalisé (comme dans l'application que je teste).Test des sources de données dans les tests unitaires Android
Mais où dois-je mettre ces tests XML?
J'ai essayé avec [project_root]/res/xml
, mais je reçois l'erreur:
android.content.res.Resources$NotFoundException: Resource ID #0x7f040000 type #0x1c is not valid at android.content.res.Resources.loadXmlResourceParser(Resources.java:1870) at android.content.res.Resources.getXml(Resources.java:779)
Est-ce que cela signifie que le fichier XML est invalide ou que Android n'a pas pu trouver le fichier XML? (J'utilise le même code XML qui vient du serveur - copié à partir du panneau réseau du firebug et collé dans le fichier). Puis-je lire ce XML en tant que fichier texte, puisque getContext().getResources().getXml(R.xml.test_response1)
renvoie XmlResourceParser
au lieu de String
(ce que je préfère)?
java.io.FileNotFoundException: test_response1.xml à android.content.res.AssetManager .openAsset (méthode native) – zorglub76
Je ne sais pas ce qui se passe .. Quand j'appelle getContext(). getAssets(). list ("/"), j'obtiens une liste de plusieurs fichiers et dossiers parmi lesquels "assets" dossier. Quand je liste ensuite les fichiers dans le dossier "/ assets", je n'ai rien - comme si le dossier est vide ... – zorglub76
Selon le fichier xml (dans les ressources de votre application ou les tests de votre test), vous avez besoin du bon contexte pour trouver à travers getAssets(). –