William Lindblom
08/31/2020, 12:57 PMimport org.junit.experimental.categories.Category
import org.junit.jupiter.api.Test
import org.koin.core.parameter.parametersOf
import org.koin.dsl.module
import org.koin.test.AutoCloseKoinTest
import org.koin.test.category.CheckModuleTest
import org.koin.test.check.checkModules
interface First
class FirstImpl(a: String) : First
interface Second
class SecondImpl(a: First) : Second
@Category(CheckModuleTest::class)
internal class KoinTest : AutoCloseKoinTest() {
@Test
fun checkModules() {
val testModule = module {
single<Second> { SecondImpl(get()) }
single<First> { (foo: String) -> FirstImpl(foo) }
}
checkModules(parameters = { create<First> { parametersOf("hello") } }) {
modules(testModule)
}
}
}
William Lindblom
08/31/2020, 1:08 PM