spring - 如何在 Spek 测试中使用依赖注入(inject)

标签 spring testing kotlin

我正在使用 Kotlin、Spring 和 Spek 实现简单的微服务。我想测试我的存储库,但我想知道如何将 repo 注入(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/

相关文章:

java - 如果stream().filter为空

java - Spring:不支持请求方法 'PUT'

java - 如何仅使用一个 HTTP 请求(JSON 文件)实例化 2 个不同的对象

ruby-on-rails - 在 Rails 3 中使用 Cucumber/Capybara 测试 jQuery 标记自动完成

testing - buildbot 没有将 mercurial 更新到 forcebuilds 的最新负责人

gradle - 使用 gradle kotlin dsl 执行 JavaExec 任务

android - 无法在 Kotlin 中使用 Moshi 解析 Map<String, Double> - 意外的原始 double

java - 未终止 <表格 :input tag

android - 在没有使用 nRF Connect 的解决方法的情况下,无法使用自定义应用程序连接到 BLE 设备

mysql - 如何加快mysql docker容器的测试速度?