2017-02-06 80 views
6

我正在使用Kotlin,Spring和Spek實現簡單的微服務。我想測試我的存儲庫,但是我不知道如何將回購注入到spek測試用例中。創造這樣的新的參考每個示例或教程基地:如何在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) 
     } 
    } 
}) 

要summup我不想做某事是這樣的:

val calculator = SampleCalculator() 

我想要實現這個

@Autowired 
val calculator: SampleCalculator 

但我不能這樣做,因爲我不能autowire服務到本地變量..任何解決方案?我是kotlin和spek的新手。

+0

一種解決方法,我可以馬上建議嘗試是本地['object'表達(https://kotlinlang.org/docs/reference/object- declarations.html#object-expressions)和'@ Autowired'屬性。它工作嗎? – hotkey

回答

0

lateinit試試:

@Autowired 
lateinit var calculator: SampleCalculator