Я хочу переопределить привязку Кодеина с помощью макета перед тестированием моего класса.
Есть мой кодеин Код:
val kodein = Kodein {
bind<MyRepository>() with provider { MyRepository() }
}
Затем мой класс для тестирования:
class MyClass {
private val mMyRepository: MyRepository by kodein.instance()
suspend fun sendData() = mMyRepository.sendData()
}
И мой тестовый класс:
@RunWith(AndroidJUnit4::class)
class MyClassTest {
@MockK
lateinit var mMyRepositoryMock: MyRepository
val mMyClass = MyClass()
@Before
fun setUp() {
MockKAnnotations.init(this, relaxUnitFun = true)
}
@Test
fun testSendData() {
coEvery { mMyRepositoryMock.sendData() } returns Unit
runBlocking {
mMyClass.sendData()
.collect {
assertTrue(true)
}
}
}
}
Я хочу переопределить mMyRepository
значение в MyClass
во время моего теста на mMyRepositoryMock
.
Может ли кто-нибудь помочь мне сделать это