我想使用推荐的方法(http://developer.android.com/tools/testing/index.html)为我的 Android 应用程序进行一些自动 UI 测试。我的活动从服务器获取数据,并在获得响应后修改了一些 UI 元素。我想检查 UI 是否被正确修改,但我也想在不连接服务器的情况下测试这个问题。我考虑过提供模拟组件而不是代表活动连接到服务器的对象。但是我怎么能在我的测试用例中告诉 acivity 用模拟对象替换原始对象呢?你知道有什么好的方法吗?
在我的 ActivityInstrumentationTestCase2 实例中调用 getActivity 之前,我考虑过使用 setActivityIntent (指示应该使用模拟对象)在 Intent 中放置一个特殊标志。但是这种方法需要在应用程序代码中添加一些 if 语句,这会使代码变得不那么清晰和复杂。
你有更好的建议吗?提前致谢。