19

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

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

4

2 回答 2

25

方法setActivityIntent(Intent)应该是您正在寻找的。我使用此方法为我的 Activity 的 TestCase 提供自定义 Intent。只需在构造函数中调用super后使用它。

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

我认为您不必在构造函数中执行此操作,但您需要确保在第一次调用 getActivity() 之前调用它。getActivity 将使用您的 Intent 来创建 Activity。

于 2012-01-13T19:55:50.493 回答
4

您可以改写 getActivity() 。

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

有关更多详细信息,请参阅使用 Robotium 测试 Android

于 2013-01-17T09:24:21.587 回答