Je viens de configurer un projet de test pour mon application Android pour utiliser Robolectric. J'ai suivi le Eclipse Quick Démarrer . Une exception est soulevée exécutant mon tout premier test.
import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import com.xtremelabs.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) public class TelephoneDirectoryTest { private TelephoneDirectory activity; @Before public void setUp() { activity = new TelephoneDirectory(); } @Test public void searchButtonLabelShouldBeGo() throws Exception { String goLabel = activity.getResources().getString(R.string.search); assertEquals("Go", goLabel); } }
6 Réponses :
Son mauvais évidemment..J'ai dû configurer une manière Ant pour faire des choses comme vous ne pouvez pas lancer des tests robolectriques à partir de Eclipse car l'espace de travail Eclipse ne reconnaît toujours pas les fichiers individuels liés à la source liés ..se mon exemple alpha: P >
https://github.com/share/wabash p>
Même erreur que je reçois à la manière de la façon dont les instructions Pivotal Labs .. P>
Êtes-vous en train de dire que ne pas faire comme dans le Wabash (pas encore vu), le seul moyen que j'ai est de mettre un ./test dossier pour des tests directement dans le même projet Android, comme dans Roboltetricsample? Si oui, je pense que je pourrais le faire ...
J'ai eu exactement le même problème (RunTimeException lors du chargement des ressources) lors de la première mise en place de mon projet Eclipse avec Robolectric, mais cela fonctionne maintenant. P>
J'ai pensé deux choses sur: p>
AVERTISTATEUR: Impossible de trouver le chemin d'accès à Android SDK CODE> (le message peut ne pas être affiché dans une version inférieure à 1.0-RC1) puis Ressourcesceler code> Échec de l'échec Trouvez votre racine SDK. Une des méthodes recherchent une variable d'environnement Android_Home CODE> ANDROID_HOME qui devrait indiquer où réside votre Android SDK. LI>
- Enfin, il y a un bug qui provoque une exception si votre menu.xml est non formaté d'une certaine manière. li>
ul>
Utiliser robolectrique sans maven ou une fourmi est possible, mais il pourrait y avoir quelques bugs plus. Cette vidéo affiche la configuration de projet correcte. Si cela ne fonctionne pas, obtenez la dernière version de GITUB (Import comme projet Maven à Eclipse et vous aurez peut-être besoin github.com/mosabua/maven-andrid-sdk-deployer em>) et commencez à déboguer! p>
Je devais ajouter une variable d'environnement à ma configuration de test:
ANDROID_HOME=C:/path/to/android-sdks
C'est ce qui a fonctionné pour moi à Intellij. J'ai eu la variable env Tous configuré ... devine que je devais juste ajouter la référence dans la configuration de construction. Merci!
Il suffit d'avoir ce problème après avoir fait une nouvelle installation de Windows 8. Très probablement robolectric ne peut pas trouver le SDK. Afin de le pointer vers le bon endroit. Vous pouvez générer un fichier ouvert Assurez-vous également que vous avez téléchargé Android API Niveau 8. Robolectric recherche un dossier dans le local.properties code> dans votre projet Android. Cela peut être fait dans la ligne de commande en allant au dossier racine de votre projet et en émettant la commande suivante:
local.properties code> pour vérifier le
sdk.dir code> est pointant sur le chemin attendu. p>
/ chemin / à / votre / SDK / Plateformes / Android-8 Code> Répertoire. P> P>
Si le ResourceNotFound ne se produit que pour les matrices de chaîne définies avec Utilisation de Robolectric 2.0 P>
lire dans: https://groups.google.com/forum/# ! Sujet / Robolectric / GQOY0BCGUYS P>
docs: http://developer.android.com/ Guide / Thèmes / Ressources / String-Resource.html # Stringarray P>
Vous pouvez obtenir le fichier jar dans ce lien.justez-le. Ajouter un pot dans le projet c'est ça. J'ai utilisé dans mon projet. Des doutes me demandent p>
http://www.java2s.com/ Code / Jardownload / robolectrique / robolectrique-1.2-8.jar.zip P>
Vous pouvez également essayer cela avec Maven. Voici le code d'exemple: Github.com/pivotal/robolectricsample
Pouvez-vous coller votre code d'importation
@Sunil vient de coller mes importations
Avez-vous eu plus de choses avec cela? Je ressens cette erreur exacte.
@ahsteele aucune bonne nouvelle à ce sujet, pas même de Robolectric Google Group :(