Android和Robotium - 测试期望额外的活动? (注:这是一个提问标题,无需回答)

19

我认为Robotium的设计是按照一次测试一个活动来进行的,而不是整个应用程序。

因此,我的问题是,如何测试期望传递额外信息的活动? 所谓的额外信息是指intent.putExtra("Something", object);

2个回答

25

setActivityIntent(Intent) 方法应该是您要查找的内容。我使用此方法向我的 Activity 的 TestCase 提供自定义 Intent。只需在构造函数中调用 super 后使用它即可。

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

我认为你不必在构造函数中这样做,但需要确保你在第一次调用 getActivity() 之前调用它。getActivity将使用你的Intent来创建Activity。


谢谢,这让我省了不少时间去弄清楚! - JPM
1
实际上,在Robotium的最新版本中,我们应该在setup()中设置setActivityIntent(),然后再调用getActivity()。 - imort

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 了解更多细节。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接