Pergunta

It seems to me that robotium was designed in a way to test 1 Activity at a time instead of the whole application.

So my question is how do I test an activity that expects an extra to be passed to it? by extra I mean intent.putExtra("Something", object);

Foi útil?

Solução

The method setActivityIntent(Intent) should be what you are looking for. I used this method to provide a custom Intent to my Activity's TestCase. Just use it after you call super in your constructor.

Intent i = new Intent();
i.putExtra("myExtra", "anyValue");
setActivityIntent(i);

You don't have to do it in the constructor i think, but you need to make sure that you call it before you call getActivity() for the first time. getActivity will use your Intent to create the Activity.

Outras dicas

You could override getActivity() instead.

@Override
public NewActivity getActivity() {
    Intent intent = new Intent();
    intent.putExtra("exampleExtra", "some data");
    setActivityIntent(intent);
    return super.getActivity();
}

See Testing for Android with Robotium for more details.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top