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として実行されるようです