我正在使用Kotlin,Spring和Spek实现简单的微服务。我想测试我的存储库,但是我想知道如何将仓库注入(inject)到spek测试用例中。每个示例或教程都基于创建这样的新引用:

object SampleTest : Spek({
    describe("a calculator") {
        val calculator = SampleCalculator()

        it("should return the result of adding the first number to the second number") {
            val sum = calculator.sum(2, 4)
            assertEquals(6, sum)
        }

        it("should return the result of subtracting the second number from the first number") {
            val subtract = calculator.subtract(4, 2)
            assertEquals(2, subtract)
        }
    }
})

总而言之,我不想做这样的事情:
val calculator = SampleCalculator()

我想实现这一目标
@Autowired
val calculator: SampleCalculator

但是我不能这样做,因为我不能将服务自动连接到局部变量中。任何解决方案吗?我是Kotlin和Spek的新手。

最佳答案

lateinit尝试一下:

@Autowired
lateinit var calculator: SampleCalculator

关于spring - 如何在Spek测试中使用依赖注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42064001/

10-10 01:28