2013-02-08 13 views
7

私はActivityを持っています。 Activityを単独でテストしたいので、ActivityUnitTestCaseが私の目的に合っています。UnitUnitTestCaseとPreferenceManagerを使用してAndroidをテストする

私のActivityonCreateメソッドは、プリファレンスに格納されている値を使用します。テストケースでこの値を設定したいと思います。

問題は、事前にPreferenceを設定する方法がわかりません。 ActivityUnitTestCasegetContext()メソッドがありません。startActivity()を呼び出すまでcontextを返すgetActivity()がnullです。 startActivityを呼び出すとonCreateメソッドが呼び出されるため、これはオプションではありません。これは環境設定コードが存在する場所です。

ユニットテストの設定を操作するために使用できるcontextの取得方法についてのご意見はありますか?

答えて

9

計測器を使用してコンテキストを取得できます。

計装のコンテキスト(テストランナー)を取得するには:

getInstrumentation().getContext() 

をしかし、あなたはおそらく、インストルメントアプリケーションのコンテキストを必要とする:

getInstrumentation().getTargetContext() 
+0

getTargetContext()が働いていました。ありがとう! – jacobhyphenated

+1

こんにちは、私の場合、 'getInstrumentation()'は** null **を返しています。私は 'ActivityUnitTestCase'を拡張しています。何か案が? –

関連する問題