我有两项活动, ActivityA 和 ActivityB 。 ActivityA显示列表,ActivityB显示列表的详细信息。我在ActivityB上有一些变量,我想改变运行时来测试结果。我无法直接测试ActivityB,因为ActivityB填充/从ActivityA收集数据。因此,从ActivityA开始,我将转到ActivityB。现在我如何在ActivityB上设置变量值。请帮我。
在Robotium测试课内。
solo.assertCurrentActivity(getActivity().getClass().getSimpleName(), "ActivityA");
solo.clickInList(1);
// Now I'm on ActivityB and ActivityB has a boolean isSuccess = false;
// I want to set isSuccess = true; and test the remaining.
专家请帮我解决这个问题。
谢谢!
@yup。
答案 0 :(得分:0)
你需要模拟那里的数据。在goint到AcyivityB之前,你必须模拟将在ActivityB中使用的数据。如果在调用ActivityB之前模拟数据可用,则ActivityB将使用可用的模拟数据。为此,您可以创建一个单独的模拟类,它将从主项目扩展该类,该项目负责向ActivityB提供数据。在那里你可以在mock类中将值设置为所需的变量,并且可以在单击ActiviryA中的按钮之前调用该函数,这样,模拟数据将可用于ActivityB。
答案 1 :(得分:0)
我已经解决了这个问题。做一些棘手的改变。使用SharedPreferences
处理活动中的中间值,并形成from testClass更改SharedPreferences
数据的值。