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