MockMVC控制器在存储库上测试NoSuchBeanDefinitionException

时间:2018-05-16 15:36:50

标签: spring unit-testing

我正在使用Spring Boot,我正在尝试测试我的控制器。我得到一个讨厌的NoSuchBeanDefinitionException没有限定bean MyRespository类。存储库在服务类中自动装配。有谁知道如何解决这个问题?感谢。

@RunWith(SpringRunner.class)
@WebMvcTest(UserVehicleController.class)
public class UserVehicleControllerTests {

    @Autowired
    private MockMvc mvc;

    @MockBean
    private UserVehicleService userVehicleService;

    @Test
    public void testExample() throws Exception {
        given(this.userVehicleService.getVehicleDetails("sboot"))
            .willReturn(new VehicleDetails("Honda", "Civic"));

        this.mvc.perform(get("/sboot/vehicle").accept(MediaType.TEXT_PLAIN))
            .andExpect(status().isOk()).andExpect(content().string("Honda Civic"));
     }

}

1 个答案:

答案 0 :(得分:0)

我为@Autowired存储库并且测试工作的类添加了@AutoConfigureMockMvc和@MockBean。