Robolectric 3.1.1 へのアップデートガイド

  • 13
    いいね
  • 0
    コメント

概要

前回のアップデートから一ヶ月ほど経ちましたが、しれっと Robolectric 3.1.1 がリリースされています。今回の差分は ウェブ上でも確認できるほどのサイズですが、例によって破壊的変更が入っていますので、バージョン番号を上げるだけでは動かない場合があります。

RobolectricGradleTestRunner は deprecated

代わりに、RobolectricTestRunnerを使いましょう。

DefaultPackageManager のコンストラクタ

以前はShadowsAdapterのインスタンスを渡していましたが、3.1.1 からResourceLoaderを渡すように変更されました。
ResourceLoaderRuntimeEnvironmentが提供しているものを使用できます。

よって、次のように変更をする必要があります。


// 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の項目が入ってて白目をむきそうになりましたが、ここに書いてある以外にも変更が必要なことに気がついて白目をむきました。

他にもあれば追記しようと思います。