是否有可能通过仪器测试获得活动结果?

时间:2017-03-01 11:14:00

标签: android testing android-espresso robotium

我的应用程序中有一个活动(A),它由另一个活动(B)启动,带有startActivityForResult()。 当在A中单击按钮时,它将调用setResult()和finish(),然后返回到B.

如何在仪器测试中从A获得结果?

我想保持简单,直接从我的测试开始A,而不是通过B(以及之前的活动)。

我使用机器人,我也在研究其他工具,但没有发现任何有用的东西。

getActivityMonitor()。getResult()为null。 无论如何,Robotium不会使用startActivityForResult()启动活动。 我不想模仿活动A的结果,我想检查一下它的有效性。

我目前的解决方法是使用反射读取活动中的值,但必须有更好的方法。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,请试试这个

Intent i = new Intent (getApplicationContext(), ActivityA.class); startActivity(i); //Start Activity A

或者您可以通过特定活动制作测试星

public class ActivityATest extends ActivityInstrumentationTestCase2<ActivityA> { ...

然后进行测试检查

// check that we have the right activity solo.assertCurrentActivity("wrong activity", ActivityA.class);