在我看来,robotium的设计方式是一次测试1个Activity而不是整个应用程序。
所以我的问题是如何测试一个需要额外传递给它的活动?
我是指intent.putExtra("Something", object);
答案 0 :(得分:25)
方法 setActivityIntent(Intent)应该是您正在寻找的。我使用此方法为我的Activity的TestCase提供自定义Intent。只需在构造函数中调用 super 后使用它。
Intent i = new Intent();
i.putExtra("myExtra", "anyValue");
setActivityIntent(i);
我认为你不必在构造函数中这样做,但是你需要确保在第一次调用getActivity()之前将其称为。 getActivity将使用您的Intent创建Activity。
答案 1 :(得分:4)
您可以改写getActivity()。
@Override
public NewActivity getActivity() {
Intent intent = new Intent();
intent.putExtra("exampleExtra", "some data");
setActivityIntent(intent);
return super.getActivity();
}
有关详细信息,请参阅Testing for Android with Robotium。