現在、Androidストック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;
}