InstrumentationTestCase
アプリケーションのコンポーネントの単体テストに使用しています。
コンポーネントはデータを内部ストレージに永続化Context::fileList();
し、永続化されたファイルを取得するために使用します。
次の問題が発生します: アプリ (デバイス上) でこのメソッドを使用すると、問題なく動作します。しかし、(Android-)単体テスト(デバイス上でも)を使用してしようとすると、メソッド内InstrumentationTestCase
に取得されます。Android のソースを調べたところ、(ソースはこちら)が null を返し、このエラーが発生することがわかりました。NullPointerException
fileList()
getFilesDir()
再現するコードは次のとおりです。
public class MyTestCase extends InstrumentationTestCase
{
public void testExample() throws Exception
{
assertNotNull(getInstrumentation().getContext().getFilesDir()); // Fails
}
}
私の質問は次のとおりです。この動作は意図されたものですか? この問題を回避するにはどうすればよいですか? 私はInstrumentationTestCase
正しいものを使用していますか、それとも別のものを使用する必要がありますか?
この質問を見つけましたが、これが私が抱えている同じ問題をカバーしているかどうかはわかりません。