10
votes

Robolectric 2 - Créer une activité avec l'intention

crée une activité en utilisant le .Withintent () code> ne fonctionne pas dans robolectric 2? Je fais ce qui suit xxx pré>

et je reçois un nullpointeéréxception code> lors de la suivante dans le Oncreate () code> de mon activité . P>

    Robolectric.shadowOf(activity).setIntent(intent);
    activity.onCreate(null);


0 commentaires

4 Réponses :


6
votes

Ceci est un cas où une API de style fluide vous conduit au mauvais chemin ...

Vous voulez: P>

activity = Robolectric.buildActivity(MyActivity.class)
                        .withIntent(intent)
                        .create()
                        .get();


2 commentaires

J'ai déjà essayé ça. n'a pas fonctionné pour moi. getintent () toujours renvoyé null pour moi


Cela n'a pas fonctionné pour moi aussi, donc je viens de prolonger la myactivité et de surcharger surCréate. Là j'ai appelé seintent avec une nouvelle intention.



0
votes

Edit: Il a été corrigé dans la version 2.2.

J'ai abordé le même problème. Il a été signalé mais aucune solution n'a encore été fournie. Pour l'instant, je parvienne à la pirater à l'aide de l'ensemble de l'activité avant d'appeler Oncreate (), en tirant parti du fait que son cycle de vie n'a pas encore commencé: xxx

< / p>


0 commentaires

3
votes

J'ai compris mon problème. Je n'astancié pas l'intention correctement. Je l'insantionnais avec le constructeur de no-arg lorsque je devais donner un contexte et la classe de l'activité il a été envoyé à


3 commentaires

Comment obtenez-vous un contexte?


Ce qui va ici: nouvelle intention (robolectric.application.getaplicationContextex (), ??)


?? devrait être remplacé par l'activité étant construite. Alors myactivity.class



6
votes

Pour les versions plus récentes de l'utilisation robolectrique robolectric.buildactivity (classe, intention) .


0 commentaires