是否可以让活动在setup方法中运行到最后?

时间:2012-05-25 01:07:22

标签: android junit tdd

目前,我正在尝试使用android stock junit框架做一些TDD。

我想单击一个按钮,让活动以setUp方法从远程服务器获取文件,然后在下面的测试方法中,我可以检查是否生成了该文件。但是我在performClick中调用setUp后发现,活动已完成,但未执行生成文件代码。所以我正在寻找一种方法让活动运行所有代码,然后执行测试方法。也许Thread.sleep(2000)可以解决这个问题,但我怀疑是否有更好的方法。

这是代码:

@UiThreadTest
protected void setUp() throws Exception {
    try {
        runTestOnUiThread(new Runnable() {
            @Override
            public void run() {
                ((EditText)mActivity.findViewById(R.id.edit_server)).setText("http://192.168.120.248/hz/temp/phonebook.xml");
                click(R.id.ok);
            }
        });
    } catch (Throwable e) {
    }
}

public void testFileExist() throws Exception  {
    assertTrue(isFileExist());
}

private boolean isFileExist() {
    File file = new File("/tmp/phonebook.xml");
    boolean exists = file.exists();
    if (exists) {
        file.delete();
    }

    return exists;
}

0 个答案:

没有答案