概要
前回のアップデートから一ヶ月ほど経ちましたが、しれっと Robolectric 3.1.1 がリリースされています。今回の差分は ウェブ上でも確認できるほどのサイズですが、例によって破壊的変更が入っていますので、バージョン番号を上げるだけでは動かない場合があります。
RobolectricGradleTestRunner は deprecated
代わりに、RobolectricTestRunner
を使いましょう。
DefaultPackageManager のコンストラクタ
以前はShadowsAdapter
のインスタンスを渡していましたが、3.1.1 からResourceLoader
を渡すように変更されました。
ResourceLoader
はRuntimeEnvironment
が提供しているものを使用できます。
よって、次のように変更をする必要があります。
// 3.1 まで
DefaultPackageManager pm = new DefaultPackageManager(Robolectric.getShadowsAdapter());
// 3.1.1 から
DefaultPackageManager pm = new DefaultPackageManager(RuntimeEnvironment.getAppResourceLoader());
RoboAttributeSet も deprecated
代わりにRobolectric.buildAttributeSet()
を使うようにします。
まとめ
しれっと3.0から3.1への公式アップデートガイドに3.1.1の項目が入ってて白目をむきそうになりましたが、ここに書いてある以外にも変更が必要なことに気がついて白目をむきました。
他にもあれば追記しようと思います。