0

Roboguice を使用してアプリケーションをテストします。私はModulesアプリ用に2つ持っています:

  • ProductionModule - アプリケーションがテスト中でない場合に使用
  • TestingModule - アプリケーションがテスト中の場合に使用

これらの Module は、 APPLICATIONOnCreate()のメソッドで作成された Injector のパラメーターです。

では、アプリがテスト中かどうかはどうすればわかりますか? でAPPLICATIONライフサイクル管理する方法はありActivityInstrumentationTestCase2ますか? onCreate()

PS: その後、アクティビティをテストする必要があるため、ActivityInstrumentationTestCase2カスタムを使用しTestRunnerてレポートを生成します。

4

2 に答える 2

0

作成時のアプリケーションは、テストが実行される前に呼び出されます。これは、テストを実行するには、アプリケーションが既に存在している必要があるためです。

ただし、テスト内で自分自身で application oncreate を呼び出すことができます。アプリケーションにアプリケーション コンテキストをキャストしてから、onCreate メソッドを呼び出すことができます。アプリケーションの状態をクリアするために、過去にこれを行う必要がありました。

于 2013-03-19T16:39:35.587 に答える
0

次のように、 setUp() で JUnit からアクティビティに追加のパラメーターを送信できます。

@Override
public void setUp() {
    Intent intent = new Intent();
    intent.putExtra("debug", true);
    setActivityIntent(intent);
    mActivity = getActivity();
}

実際のアクティビティ内では、onCreate() 内で次のように確認できます。

        Bundle extras = getIntent().getExtras();
        if(extras!=null){
            boolean is= (Boolean)extras.get("debug");
            if(is){
                // here you are in debug mode
            }
        }
于 2013-03-19T14:58:17.973 に答える