9
votes

Robolectric + Eclipse ne peut pas trouver de ressources?

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);

    }
}


5 commentaires

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 :(


6 Réponses :


0
votes

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:

https://github.com/share/wabash

Même erreur que je reçois à la manière de la façon dont les instructions Pivotal Labs ..


1 commentaires

Ê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 ...



4
votes

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.

J'ai pensé deux choses sur:

  • Si vous recevez un AVERTISTATEUR: Impossible de trouver le chemin d'accès à Android SDK (le message peut ne pas être affiché dans une version inférieure à 1.0-RC1) puis Ressourcesceler Échec de l'échec Trouvez votre racine SDK. Une des méthodes recherchent une variable d'environnement Android_Home ANDROID_HOME qui devrait indiquer où réside votre Android SDK.
  • Enfin, il y a un bug qui provoque une exception si votre menu.xml est non formaté d'une certaine manière.

    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 ) et commencez à déboguer!


0 commentaires

6
votes

Je devais ajouter une variable d'environnement à ma configuration de test:

ANDROID_HOME=C:/path/to/android-sdks


1 commentaires

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!



0
votes

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 local.properties 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: xxx

ouvert local.properties pour vérifier le sdk.dir est pointant sur le chemin attendu.

Assurez-vous également que vous avez téléchargé Android API Niveau 8. Robolectric recherche un dossier dans le / chemin / à / votre / SDK / Plateformes / Android-8 Répertoire.


0 commentaires

1
votes

Si le ResourceNotFound ne se produit que pour les matrices de chaîne définies avec ... Tags, remplacez-les avec ...

Utilisation de Robolectric 2.0

lire dans: https://groups.google.com/forum/# ! Sujet / Robolectric / GQOY0BCGUYS

docs: http://developer.android.com/ Guide / Thèmes / Ressources / String-Resource.html # Stringarray


0 commentaires

0
votes

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

http://www.java2s.com/ Code / Jardownload / robolectrique / robolectrique-1.2-8.jar.zip


0 commentaires