Skip to main content

SpringBootでAutoWiredするテストを作成する

SpringBootでTestする場合
Autowired書いてinjectionしたくなるときがありますよね!
そのやり方


・Bean

interface MasterkaService2 {
    fun ikemen(): Int
}

@Service
class MasterkaService2Impl : MasterkaService2 {
    override fun ikemen(): Int {
        return 1
    }
}

・テストコード

@SpringBootTest
class AutowireTest {
    @Autowired
    lateinit var service: MasterkaService2


    @Test
    fun テスト() {
        Assertions.assertEquals(1, service.ikemen())
    }
}

 

以下のエラーが出たら@Serviceが漏れてるだけ
expected at least 1 bean which qualifies as autowire candidate

SpringBootTestと書けばSpringBootとして実行されるようです

関連記事:

Pocket