Android& Robotium - 期望额外的测试活动?

时间:2011-12-01 00:50:17

标签: android android-activity robotium

在我看来,robotium的设计方式是一次测试1个Activity而不是整个应用程序。

所以我的问题是如何测试一个需要额外传递给它的活动? 我是指intent.putExtra("Something", object);

2 个答案:

答案 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