如何将以下内容注入(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/