作業中のアプリの UI テストをいくつか書いていますが、プッシュ通知に基づいて画像を切り替える必要があります。プッシュ通知なしでテストを作成するために、png ファイルを androidTest res ディレクトリに配置し、テスト リソースのリソース ID を使用して ContextCompat.getDrawable() でロードしています。また、アプリ リソースの ID を使用して、アプリ リソースから同じ画像を読み込んでいます。
リソースをロードするコードは次のとおりです。
Drawable drawable1 = ContextCompat.getDrawable(setupRule.getActivity().getApplicationContext(), R.drawable.my_contact_pic);
Drawable drawable2 = ContextCompat.getDrawable(setupRule.getActivity().getApplicationContext(), com.mycompany.myapp.devenv.test.R.drawable.my_contact_pic);
drawable1 は BitmapDrawable のインスタンスで、drawable2 は NinePatchDrawable のインスタンスです。drawable2 の基礎となる PNG は drawable1 の PNG のコピーであるため、両方とも BitmapDrawables であると予想されます。これを回避するようにコーディングすることはできますが、将来の参考のためになぜこれが起こるのかを理解したいと思います。