所以我有一个活动,它的android.bluetooth.BluetoothAdapter
方法中依赖于onCreate
。我想使用Robolectric测试此Activity,但找不到模拟这种依赖性的方法。
我在这里有什么选择?
我最幸运
@RunWith(RobolectricTestRunner::class)
@Config(application = MockApp::class)
class BluetoothActivityTest {
@get:Rule
var rule = MockitoJUnit.rule()!!
@Test
fun test() {
val activityController = Robolectric.buildActivity(BluetoothActivity::class.java)
// Spy on the activity and mock out the method that is dependent on android.bluetooth
val spy = Mockito.spy(activityController.get())
doReturn(mock(ScannerClient::class.java)).`when`(spy).createScannerClient()
spy.onCreate(null, null)
}
}
但是在以activityController.start()
开始活动时我遇到了问题
我无法调用activityController.create()
,因为那样我就无法在依赖项失败之前模拟它。依赖注入(例如Dagger)可以在这里帮助我吗?