Jul*_*ien 3 junit android unit-testing
我正在测试一个对象,它应该在调用open(url)方法时启动一个新活动:
public void open(String url) {
Intent i = new Intent(getContext(), Browser.class);
Log.d(TAG, "open:" + url);
i.putExtra("URL", url);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)
我想获取活动的实例,并根据URL检查一些参数.
我发现这个剪了:
ActivityManager am = (ActivityManager) mActivity
.getSystemService("activity");
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
Run Code Online (Sandbox Code Playgroud)
但它只返回类的名称,我想在活动的实例上断言.
有人知道如何做到这一点?
谢谢 :-)
朱利安
好的,我找到了一个解决方案:ActivityMonitor类:
private Instrumentation.ActivityMonitor mBrowserActivityMonitor;
protected void setUp() throws Exception {
super.setUp();
mBrowserActivityMonitor = new Instrumentation.ActivityMonitor(Browser.class.getName(), null, false);
getInstrumentation().addMonitor(mBrowserActivityMonitor);
//...
}
public void testOpen()
{
//...
Activity activity = mBrowserActivityMonitor.waitForActivityWithTimeout(5 * 1000);
assertNotNull("Activity was not started", activity);
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |