つづきです: akihito104.hatenablog.com
fragment-testingを使おう
前回の記事では空のActivityにカスタムビューをアタッチしてからテストしているが、androidxのfragment-testingというライブラリを使うのが楽そうというか正しそうなのでこちらを使いましょう。
やることは、前回の記事で空のActivityを作ってやっていることを空のFragmentに置き換えてやるだけ。
おまけ: Robolectric.buildAttributeSet()
レイアウトリソースでカスタムアトリビュートを指定したときの挙動をテストしたいということがある。ただ、テストでテスト用のレイアウトリソースファイルを読み込ませるのも一苦労なので、Viewに渡すAttributeSetのモックオブジェクトを作るのがいいらしい。Robolectricにはそのためのビルダーがあり、属性のIDと値のテキストをペアで渡す。
Robolectric.buildAttributeSet() .addAttribute(R.attr.foo, "bar") .addAttribute(R.attr.foo_color, "@color/foo_color") // レイアウトリソースに書く時のように指定する .build()