运行JUnit集成测试STS中的Spring / JHipster

时间:2016-06-08 21:08:14

标签: eclipse spring junit jhipster

我有一个使用v3.4.0生成的Jhipster(使用Gradle)。

我正在尝试从STS运行和调试单元测试。

来自文档:

  

可以直接在IDE中运行这些测试,方法是右键单击每个测试   测试类,或运行mvn clean test(如果运行则运行./gradlew测试)   摇篮)。

当gradle任务$.gradlew test按预期执行时,当我尝试“右键单击”并Run As Junit TestDebug As Junit测试时 - 我在数据库周围获得例外:

堆栈跟踪的一小部分:

  

org.springframework.beans.factory.BeanCreationException:错误   用名字创建bean   'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration':   注入自动连接的依赖项失败;嵌套异常是   org.springframework.beans.factory.BeanCreationException:不能   autowire方法:public void   org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.setFilterChainProxySecurityConfigurer(org.springframework.security.config.annotation.ObjectPostProcessor,java.util.List中)   抛出java.lang.Exception;嵌套异常是   org.springframework.beans.factory.BeanExpressionException:Expression   解析失败;嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   创建名为'securityConfiguration'的bean:注入   自动连接依赖失败;嵌套异常是   org.springframework.beans.factory.BeanCreationException:不能   autowire字段:私有   org.springframework.security.core.userdetails.UserDetailsS​​ervice   web.myapp.core.config.SecurityConfiguration.userDetailsS​​ervice;   嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   创建名为'userDetailsS​​ervice'的bean:注入自动装配   依赖失败;嵌套异常是   org.springframework.beans.factory.BeanCreationException:不能   autowire字段:private web.myapp.core.repository.UserRepository   web.myapp.core.security.UserDetailsS​​ervice.userRepository;嵌套   异常是org.springframework.beans.factory.BeanCreationException:   创建名为'userRepository'的bean时出错:无法创建内部   bean'(内豆)#1c752902'的类型   [org.springframework.orm.jpa.SharedEntityManagerCreator]设置时   bean属性'entityManager';嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   创建名为'(内部bean)#1c752902'的bean:无法解析   设置构造函数时引用bean“entityManagerFactory”   参数;嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   在类路径中定义名为'entityManagerFactory'的bean   资源   [组织/ springframework的/引导/自动配置/ ORM / JPA / HibernateJpaAutoConfiguration.class]:   调用init方法失败;嵌套异常是   org.hibernate.cache.NoCacheRegionFactoryAvailableException:   二级缓存用于应用程序,但属性   没有给出hibernate.cache.region.factory_class;请   禁用二级缓存或使用。设置正确的区域工厂   hibernate.cache.region.factory_class设置并确保第二个   级别缓存提供程序(hibernate-infinispan,例如)可用于   类路径。

我的假设是测试数据库的正确配置文件未初始化:src/test/resources/application.yml

有关在STS中设置此个人资料的任何建议吗?

更新

我已根据https://jhipster.github.io/configuring-ide-eclipse-gradle/

更新了一些网上商店
  1. 没有资源过滤器Project Properties > Resource > Resource Filters(导入项目时STS未添加任何资源过滤器 No Resource Filters Project Properties > Resource > Resource Filters (none were added by STS when I imported the project

  2. 选中以确保将build/generated/source/apt/main添加到Project Properties > Java Build Path 下的“我的Java构建路径”设置中 Checked to make sure the build/generated/source/apt/main is added to my Java Build Path settings under Project Properties > Java Build Path

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这就是我的工作方式:
1.作为gradle构建任务的一部分,您需要首先运行测试,然后才能使用JUnit以交互方式运行它。 2.默认情况下,JHipster生成build.gradle文件,仅运行名为* UnitTest或* IntTest的测试。如果你有这个默认配置,但是以不同的方式命名你的测试,那么上面的步骤1将无法工作,因为虽然构建可能成功完成但它实际上没有运行你的测试,因此它仍然可以&#39 ; t在JUnit中运行。
3.按照上面添加的屏幕截图中给出的步骤作为原始问题的更新 现在尝试以JUnit Test运行。

相关问题