Android & Robotium - Test activity that expects an extra?
Asked Answered
D

2

19

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

Deweese answered 1/12, 2011 at 0:50 Comment(0)
S
25

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.

Sinfonia answered 13/1, 2012 at 19:55 Comment(1)
Actually in last version of Robotium we should setActivityIntent() in setup() before getActivty()Rebroadcast
H
4

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.

Hydrops answered 17/1, 2013 at 9:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.