如何将以下内容注入(inject)Test,因为不允许使用构造函数args
并且未能初始化注入(inject)的bean

@MicronautTest
class ApplicationTest:StringSpec() {

    @Inject
    lateinit val embeddedServer:EmbeddedServer;

    @Inject
    lateinit val dataSource:DataSource

    init{
        "test something"{
            //arrange act assert
        }
    }
}

最佳答案

您需要通过创建一个从AbstractProjectConfig派生的对象来指定Project config,将该对象命名为ProjectConfig并将其放置在名为io.kotlintest.provided的包中。 KotlinTest将检测它的存在并在执行测试时使用在那里定义的任何配置。
根据文档
https://github.com/kotlintest/kotlintest/blob/master/doc/reference.md#project-config

object ProjectConfig :AbstractProjectConfig() {
override fun listeners() = listOf(MicornautKotlinTestExtension)
override fun extensions() = listOf(MicornautKotlinTestExtension)
}

关于kotlin - 测试时如何将MicronautTest与Kotlintest配合使用以注入(inject) bean 类?在 Kotlin ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56754723/

10-09 12:35