以前に kotest を使ったテストに Robolectric をあわせるときの注意点を書きましたが、このときはまだ Experimental な状態だった Robolectric Extension が 4.3.0
から安定版となりました。
マイグレーション作業
安定版となったことで次にあげるマイグレーション作業が必要になります。
import 文の修正
RobolectricExtension
および @RobolectricTest
のパッケージが変わっています。
- import io.kotest.experimental.robolectric.RobolectricExtension + import io.kotest.extensions.robolectric.RobolectricExtension
- import io.kotest.experimental.robolectric.RobolectricExtension + import io.kotest.extensions.robolectric.RobolectricExtension
安定版リリースでの変更点
同一モジュール内での @RobolectricTest
と通常のテストの共存
以前は同一モジュールで RobolectricExtension を有効化すると、そのモジュール内のすべてのテストで @RobolectricTest
が必要でした。安定版では必要なテストクラスのみに @RobolectricTest
を付与し、@RobolectricTest
の有無に関わらずすべてのテストが正常に実行できるようになりました。
安定版リリースでも動作しないもの
BehaviorSpec が利用できない
以前と変わらず、Robolectric の初期化が二重に走ってしまいテストがコケます。
IsolationMode を InstancePerLeaf 以外にするとテストがコケる
以前と変わらず、InstancePerLeaf 以外では Looper の初期化が二重に走ってしまいテストがコケます。