我正在尝试运行以下测试,但它失败了,因为它试图查找log2()
并出现以下错误:
mongoTemplate bean
我的理解是Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mongoTemplate' available
图层(或者在这种情况下是data
)不应该执行,但它似乎是。
MongoAutoConfiguration.class, MongoDataAutoConfiguration.class
@RunWith(SpringRunner.class)
@WebMvcTest(value = UserDetailsController.class)
public class UserDetailsControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
UserRepository userRepository;
@Test
@WithMockUser
public void apisAreAccessibleIfAuthenticated() throws Exception {
mockMvc.perform(get("/user-details"))
.andExpect(status().is(HttpStatus.OK.value()));
}
}
答案 0 :(得分:0)
您正在为UserRepository
创建模拟,但您没有为findByUserName
方法实现存根。在执行get:
Mockito.when(userRepository.findByUserName(Mockito.any())).thenReturn(new AppUser());
答案 1 :(得分:0)
此答案有助于:https://stackoverflow.com/a/51454688/2214203。
简而言之:将详细信息的配置与应用程序主类的配置分开是一种方法。