2

Robotium を使用して、Activity がonPause()onDestroy()onResume()および同様の呼び出しを正しく処理していることを確認するにはどうすればよいですか?

私の Robotium テストでは、次のようなものを呼び出すことができます

solo.getCurrentActivity().onKeyDown(0, null);

しかし、どうすれば破棄されて再作成されるアクティビティをシミュレートできますか? 何も見えない

solo.getCurrentActivity().onPause()   

また

solo.getCurrentActivity().onDestroy()

私が使用できる方法?これは Robotium が設計された目的ではないでしょうか?

4

2 に答える 2

2

Instrumentation#callActivityOnPause()およびInstrumentation#callActivityOnDestroy()にアクセスしてから使用するテスト ケース基本クラスをInstumentation使用します。

于 2011-10-20T16:28:42.667 に答える
1

これにより、アクティビティが破棄され、新しいアクティビティが作成されます。

    getInstrumentation().runOnMainSync(new Runnable() {
        @Override
        public void run() {
            activity.recreate();
        }
    });
    setActivity(null);
    activity = getActivity();

これは、「activity.recreate()」の呼び出しにより、API 11 以降でのみ機能します。このテストでインスタンスの状態を保存/復元することを気にしない場合は、代わりに「activity.finish()」を呼び出すことができます。これはすべてのバージョンで利用できます。

于 2014-01-14T11:47:07.817 に答える