cristiangm
04/21/2018, 3:36 PMdknapp
04/23/2018, 3:05 PMcristiangm
04/23/2018, 10:08 PM@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest : AutoCloseKoinTest() {
private val retrofit: Retrofit by inject()
private val repository: Repository by inject()
@Before
fun setUp() {
val mockModule = applicationContext {
bean {
Retrofit.Builder()
.baseUrl("<http://localhost:8080/>")
.build()
}
}
startKoin(getApplication().koinModules + mockModule)
}
private fun getApplication() =
InstrumentationRegistry.getTargetContext().applicationContext as MyApplication
<@U71GL59NU>
fun testKoin() {
assertEquals("<http://localhost:8080/>", retrofit.baseUrl().toString())
assertNotEquals("<http://192.168.1.40:8080/>", retrofit.baseUrl().toString())
assertNotNull(repository)
}
}
cristiangm
04/23/2018, 10:10 PMMyTestApp: MyApp()
overriding where I usually startKoin to do nothing, and a custom Runner to make it use MyTestApparnaud.giuliani
04/25/2018, 7:52 AMarnaud.giuliani
04/25/2018, 7:52 AMcristiangm
04/25/2018, 8:20 AMstartKoin(realModules + stubbedModules)
the latest will override the beans/factories from the firstarnaud.giuliani
04/25/2018, 8:21 AMarnaud.giuliani
04/25/2018, 8:22 AMcristiangm
04/25/2018, 8:23 AMarnaud.giuliani
04/25/2018, 8:24 AM