2017-07-26 10 views
0

私は複数のJavaモジュールを含むAndroid Appを持っており、Android以外のモジュールを意味します。 1つのモジュールは、Android Appモジュールに依存しないコアモジュールです。しかし、それは実行時にアプリケーションコンテキストをとります。AndroidアプリケーションのJUnitテスト用のCore Javaモジュール内のアプリケーションコンテキストへのアクセス

このコアモジュールにAndroid Application Contextが必要なJUnitテストケースを作成する必要があります。これを行うには、IntelliJ IdeaのコアモジュールにAndroidアプリケーションモジュールの依存関係を追加して、プロジェクト設定に行きます。

しかし、JUnitテストの場合は、依存関係を設定したくありません。このアプリケーションコンテキストを模擬する方法はありますか?

さらに詳しい説明が必要な場合は教えてください。

+0

どのようにすることができますコンテキストクラスパスにない状況で、純粋なJavaモジュールの作業中にクラス? –

+0

@Eugen下記の答えをご覧ください。 –

答えて

2

あなたはMockitoを用いて以下のような状況を模擬し、それを使用することができます

private Context context; 

context = Mockito.mock(Context.class); 
+0

はい、それは+ 1で動作します。しかし、なぜこのオブジェクトに対してgetAssets()を呼び出すことができません。私はhttps://stackoverflow.com/questions/32407178/mocking-android-assetmanagerを参照しましたが、無駄です。 –

+0

どうすればいいですか?https://stackoverflow.com/questions/14970516/use-mockito-to-mock-some-methods-but-not-others –

+0

@Meenal:エラーが発生します。私はあなたがRobolectricを使用することをお勧め@AnishMittal要件 –

関連する問題