【发布时间】:2019-12-13 03:28:41
【问题描述】:
我有一个 UserRepository,它是一个 CRUD 存储库,如图所示:
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}
一个像这样的用户控制器:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository repository;
@Autowired
private UserResourceAssembler assembler;
还有一个 WebMvcTest 类来测试我的 UserController:
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void getAllEmployeesAPI() throws Exception
{
mvc.perform( MockMvcRequestBuilders
.get("/api/users")
.accept(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk());
}
}
当我运行服务器时,一切都很好。但是,当我运行 maven-test 时出现此错误:
java.lang.IllegalStateException: 无法加载 ApplicationContext 造成的: org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为“userController”的 bean 时出错:不满足的依赖关系 通过字段“存储库”表示;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“userRepository”的bean:无法创建内部bean '(inner bean)#7ba1cdbe' 类型 [org.springframework.orm.jpa.SharedEntityManagerCreator] 设置时 bean 属性 'entityManager';嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#7ba1cdbe”的 bean:无法解析 在设置构造函数时引用 bean 'entityManagerFactory' 争论;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 可用的名为“entityManagerFactory”的 bean 原因: org.springframework.beans.factory.BeanCreationException:错误 创建名为“userRepository”的bean:无法创建内部bean '(inner bean)#7ba1cdbe' 类型 [org.springframework.orm.jpa.SharedEntityManagerCreator] 设置时 bean 属性 'entityManager';嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#7ba1cdbe”的 bean:无法解析 在设置构造函数时引用 bean 'entityManagerFactory' 争论;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 可用的名为“entityManagerFactory”的 bean 原因: org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#7ba1cdbe”的 bean:无法解析 在设置构造函数时引用 bean 'entityManagerFactory' 争论;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 可用的名为“entityManagerFactory”的 bean 原因: org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 名为“entityManagerFactory”的 bean 可用
【问题讨论】:
标签: java spring spring-boot spring-test