我试图在robolectric的帮助下初始化MainActivity实例。但是下面有一个错误。
码
@RunWith(RobolectricTestRunner::class)
class MainActivityTest {
lateinit var mMainActivity: MainActivity
@Before
fun setUp() {
// GIVEN
val controller = buildActivity(MainActivity::class.java)
// WHEN
mMainActivity = buildActivity<MainActivity>(MainActivity::class.java)
}
}
buildActivity
返回ActivityController
,而不是Activity
本身。这使您可以控制Activity
通过的生命周期start()
,resume()
,pause()
,destroy()
,等方法。
为了获得Activity
自身,只需调用get()
return ActivityController
。
因此您的代码如下所示:
import org.robolectric.android.controller.ActivityController
// other imports here
@RunWith(RobolectricTestRunner::class)
class MainActivityTest {
lateinit var mMainActivity: MainActivity
lateinit var mController: ActivityController<MainActivity>
@Before
fun setUp() {
mController = buildActivity(MainActivity::class.java)
mMainActivity = mController.get()
// Optional, bring the Activity to whatever state you want
mController.resume()
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句