pitpit
10/01/2024, 3:19 PMarnaud.giuliani
10/15/2024, 1:50 PMpitpit
10/15/2024, 3:15 PM@get:Rule
val mockProvider = MockProviderRule.create { clazz ->
// Your way to build a Mock here
mockkClass(clazz)
}
pitpit
10/15/2024, 3:17 PMclass MyUseCaseTest: KoinTest {
private lateinit var myUseCase: MyUseCase
private lateinit var fooInterface: FooInterface
@BeforeTest
fun setUp() {
MockProvider.register {
mock<FooInterface>()
}
startKoin {
modules(myModule)
allowOverride(true)
}
fooInterface = declareMock<FooInterface> {
everySuspend { myMethod(any()) } returns Unit
}
myUseCase = get()
}
@Test
fun myTest() = runTest {
val text = "Test text"
shareTextUseCase(text)
verifySuspend {
fooInterface.myMethod(text)
}
}
fun tearDown() {
stopKoin()
}
}
arnaud.giuliani
10/16/2024, 7:09 AMpitpit
10/16/2024, 11:54 AM