私はテストデータを使用する計装テストを行っています。このテストデータをアセットファイルとしてテストプロジェクトに含めました。これはうまく機能します。テストプロジェクトから内部ストレージにアクセスするにはどうすればよいですか?
テストアプリケーションの内部ストレージにテストデータファイルをプッシュして、テストが内部ストレージからテストデータを読み込めるようにするだけで、異なるテストデータでテストを再実行するスピードを上げたい。
ただし、テストアプリから内部ストレージにアクセスできません。私はandroid.test.InstrumentationTestRunner
のサブクラスを使用しており、getContext().getFilesDir()
へのすべての呼び出しはnull
に戻ります。
テストアプリは内部ストレージにアクセスできませんか?
ご協力いただきまして誠にありがとうございます。あなたがテストをRoboguiceを使用するために起こる場合
の1から 'Context'に' getFilesDirを() 'を呼び出す試してみてください、あなたの'テストケース(例えば、 'AndroidTestCase')。 – CommonsWare
テストケースは 'ActivityInstrumentationTestCase2'インスタンスであり、' Instrumentation'クラスを介して 'Context'を取得することしかできないので、おそらくインストルメンテーションテストランナーと同じ' Context'を与えるでしょう。さらに重要なのは、テストデータに基づいてテストインスタンスを生成するため、すべてのテストがインスタンス化される前にテストデータにアクセスする必要があるということです。 – donV
'ActivityInstrumentationTestCase2'で' getActivity() 'を使って' Activity'オブジェクトを取得し、そこから 'getFilesDir()'を使います。 「さらに重要なのは、テストデータに基づいてテストインスタンスを生成するため、すべてのテストがインスタンス化される前にテストデータにアクセスする必要がある」と述べています。 - あなたのことが間違っているのではないかと思っています。 – CommonsWare