Robolectric のライフサイクル ユーティリティ ( Robolectric.buildActivity()
.
buildActivity()
は Activity オブジェクトの構築を制御するため、Activity のスパイを追加する唯一の場所は、 を呼び出した後buildActivity()
です。ただし、スパイは事後に追加すると正しく機能しません。
これは、やActivityController
などのライフサイクル メソッドの副作用をスパイする場合に特に当てはまります。これは、ActivityController が後で追加されたスパイではなく、「実際の」Activity オブジェクトへの参照を保持しているためだと思います。create()
start()
resume()
Robolectric を介してライフサイクル メソッドを呼び出すときにスパイが適切に動作するように、Robolectric で単体テストされているアクティビティをスパイする方法はありますActivityController
か?