使用Spring Boot 2.1 WebMvcTest的Kotlin-缺少bean

时间:2019-11-20 00:28:12

标签: spring spring-boot testing kotlin

这是我所拥有的:

@RunWith(SpringRunner::class)
@ActiveProfiles("unit-test")
@WithUserDetails
@WebMvcTest(MyController::class)
class MyControllerTest {

    @MockBean
    lateinit var service: MyService

    @Autowired
    lateinit var mvc: MockMvc

但我不断收到类似于以下内容的异常

 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 

,并且每次添加依赖项时,例如:

    @MockBean
    lateinit var anotherBean: AnotherBean

抛出另一个丢失的豆子(无尽)。

在Kotlin中是否有适当的解决方案?

2 个答案:

答案 0 :(得分:0)

只需从spring guides添加注释@SpringBootTest

  

@SpringBootTest注释告诉Spring Boot去寻找一个主要的配置类(例如,一个带有@SpringBootApplication的类),然后使用它来启动Spring应用程序上下文。您可以在IDE或命令行中运行此测试(mvn测试或gradle测试),测试应该可以通过。

答案 1 :(得分:0)

仅通过以下两个注释对测试类进行注释

@WebMvcTest(secure = false)
@ContextConfiguration(classes = [YourClass::class])

secure = false 是用于禁用Spring安全配置。