Dmitry Danilau
02/26/2024, 6:21 PMromainbsl
02/27/2024, 2:53 PMmocker.every { db.loadUser("123") } returns null // first call
mocker.every { db.loadUser("456") } returns FakeUser() // second call
romainbsl
02/27/2024, 2:54 PMmocker.every { db.loadUser("123") } returns null // first call
// Do something that triggers the first call
mocker.every { db.loadUser("123") } returns FakeUser() // second call
Dmitry Danilau
02/27/2024, 3:22 PM@BeforeTest
fun setup() { // should use library setup func.
mocker.every { db.loadUser("123") } returns null // to bypass all test that in flow using that mock
}
@Test
fun test() {
mocker.every { db.loadUser("123") } returns FakeUser() // specifically check how flow behaves with the return value
// test logic
}
romainbsl
02/27/2024, 9:25 PM// Declare reusable mock
val everyUserLoad by lazy { mocker.every { db.loadUser("123") } }
@BeforeTest
fun setup() { // should use library setup func.
everyUserLoad returns null // to bypass all test that in flow using that mock
}
@Test
fun test() {
everyUserLoad returns FakeUser() // specifically check how flow behaves with the return value
// test logic
}
Dmitry Danilau
02/27/2024, 9:32 PM