私のアプリケーションの一部には、png ファイルをローカルのファイル ディレクトリに保存し、コンテンツ プロバイダーを介して共有することが含まれます。
経由でファイルを書き込みますgetContext().openFileOutput
ただし、私のコンテンツ プロバイダーでParcelFileDescriptor
は、実際のファイル オブジェクトしか開きません。したがって、 を使用してモック アウトされたコンテンツ プロバイダ経由でこれを実行しようとするとProviderTestCase2
、次のコードは機能しません。
return ParcelFileDescriptor.open(new File(getContext().getFilesDir(), filename), ParcelFileDescriptor.MODE_READ_ONLY)
これは、コードを介してプロバイダーに渡されるモック コンテキスト内のcontext.getFilesDir()
を指すためです。上記のコードは、ディレクトリとしてカウントされないため、例外になります。これは意図したとおりですか?/dev/null
ProviderTestCase2
/dev/null