【发布时间】:2019-10-06 11:51:53
【问题描述】:
假设我有以下课程:
import com.fasterxml.jackson.databind.ObjectMapper
class Foo(private val jsonMapper: ObjectMapper) {
// ...
}
以及相应的测试:
import com.fasterxml.jackson.databind.ObjectMapper
@RunWith(MockitoJUnitRunner::class)
class FooTest {
private val jsonMapper = ObjectMapper().findAndRegisterModules()
private lateinit var foo: Foo
@Before
fun makeFoo() {
foo = Foo(jsonMapper)
}
}
我的问题是我必须手动致电findAndRegisterModules(以获得jsr310 支持等)。我更愿意让 Spring Boot 决定如何构建我的依赖项。
但是由于java.lang.Exception: Test class should have exactly one public zero-argument constructor,以下失败:
import com.fasterxml.jackson.databind.ObjectMapper
@RunWith(MockitoJUnitRunner::class)
class FooTest(private val jsonMapper: ObjectMapper) {
private val foo = Foo(jsonMapper)
}
那么,处理这种情况的正确方法是什么?
【问题讨论】:
标签: spring-boot kotlin dependency-injection