2017-03-01 173 views
0

我在我的应用程序中有一个活动(A),该活动由其他活动(B)通过startActivityForResult()启动。 当在A中点击一个按钮时,它会调用setResult()并完成(),并返回B.是否可以从仪器测试中获得活动结果?

如何从我的仪器测试中得到A的结果?

我想保持简单,并从我的测试中直接启动A,而不是进入低谷B(以及之前的活动)。

我正在使用robotium,我也查看过其他工具,但没有找到任何有用的东西。

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

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

+0

所以你想直接从测试中运行活动A,然后点击一个按钮? –

+0

我想测试一个活动,并检查活动结果是否正确。 – Steve

回答

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);

+0

这还不够。我在开始特定活动时没有问题,但我无法从中获取activityResult。 – Steve

相关问题