0

現在、Androidストックjunitフレームワークを使用してTDDを実行しようとしています。

ボタンをクリックして、メソッドでリモート サーバーからファイルを取得するアクティビティを実行したいと思いますsetUp。次に、次のテスト メソッドで、このファイルが生成されたかどうかを確認できます。しかし、私が呼び出した後performClicksetUp生成ファイルコードを実行せずにアクティビティが終了したことがわかりました。だから私は、アクティビティがすべてのコードを実行できるようにしてから、テストメソッドを実行する方法を探しています。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