0

目前,我正在尝试使用 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;
}
4

0 回答 0