2016-06-08 3 views
0

J3ster를 v3.4.0으로 생성했습니다 (Gradle 사용).JUnit 통합 테스트 실행 STS의 스프링/JHipster

STS에서 단위 테스트를 실행하고 디버그하려고합니다.

문서에서

:

테스트가 각 테스트 클래스에 마우스 오른쪽 버튼으로 클릭, 당신의 IDE에서 직접 실행할 수 있습니다, 또는 당신이 Gradle을 실행하면 MVN 깨끗한 시험 (또는 ./gradlew 테스트를 실행하여).

Gradle을 작업 $.gradlew test 내가 "마우스 오른쪽 버튼을 클릭"을 시도하고 Run As Junit Test 또는 Debug As Junit 시험 할 때, 예상대로 실행하는 동안 - 나는 데이터베이스 주위 예외 얻을 :

스택 트레이스의

작은 부분 :

org.springframework.beans.factory.BeanCreationException : 오류 이름이 빈인 빈 작성 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': I autowired 종속성의 거부가 실패했습니다. 상자의 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 수 없습니다 자동으로 묶어 방법 : 공공 무효 org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.setFilterChainProxySecurityConfigurer (org.springframework.security.config.annotation .ObjectPostProcessor, java.util.List) throws java.lang.Exception; 중첩 예외는 입니다. org.springframework.beans.factory.BeanExpressionException : 표현 구문 분석에 실패했습니다. 중첩 예외는 org.springframework.beans.factory.BeanCreationException : 오류 이름이 'securityConfiguration'인 빈을 생성 중입니다. 자동 종속 종속에 실패했습니다. 상자의 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 수 없습니다 자동으로 묶어 필드 : 개인 org.springframework.security.core.userdetails.UserDetailsService web.myapp.core.config.SecurityConfiguration.userDetailsService; 중첩 예외는 입니다. org.springframework.beans.factory.BeanCreationException : 오류 이름이 'userDetailsService'인 빈을 생성 중입니다. autowired 종속성에 대한 실패가 실패했습니다. 중첩 예외는 입니다. org.springframework.beans.factory.BeanCreationException : 할 수 없습니다 autowire 필드 : private web.myapp.core.repository.UserRepository web.myapp.core.security.UserDetailsService.userRepository; 중첩 된 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름 을 만드는 중 오류 콩 'userRepository': '# 1c752902 (내부 bean)을'유형 의를 내부 빈을 생성 할 수 없습니다 [org.springframework.orm.jpa.SharedEntityManagerCreator ] 빈 속성 'entityManager'를 설정하는 동안; 중첩 예외가 입니다 org.springframework.beans.factory.BeanCreationException : 오류 '(내부 빈) # 1c752902'이름으로 빈 만들기 : 인수를 설정하는 동안 빈 'entityManagerFactory'에 대한 참조를 확인할 수 없습니다. 중첩 예외는 org.springframework.beans.factory입니다.BeanCreationException : 오류 이름으로 콩을 만드는 '의 EntityManagerFactory'클래스 패스에 정의 자원 [조직/스프링 프레임 워크/부팅/자동 구성/ORM/JPA/HibernateJpaAutoConfiguration.class] : init 메소드의 호출에 실패; 중첩 예외는 입니다. org.hibernate.cache.NoCacheRegionFactoryAvailableException : 2 차 레벨 캐시가 응용 프로그램에서 사용되었지만, 특성 hibernate.cache.region.factory_class가 제공되지 않습니다. 하나 비활성화 두 번째 레벨 캐시 또는 설정 올바른 지역 공장이 hibernate.cache.region.factory_class 설정을 사용하여 입력하고 (예를 들어, 최대 절전 모드 - infinispan) 두 번째 레벨 캐시 제공자 확인하면 클래스 경로에서 사용할 수 있습니다.

내 가정은 테스트 데이터베이스에 대한 올바른 프로필이 초기화되지 않는 것입니다 : src/test/resources/application.yml

STS에서이 프로파일을 설정하는 방법에 대한 조언?

업데이트

나는 https://jhipster.github.io/configuring-ide-eclipse-gradle/ 당 일부 화면 상점 업데이트 한 : 나는 프로젝트를 가져올 때 Project Properties > Resource > Resource Filters (아무도 STS 추가되지 않았다

  1. 없음 자원 필터 No Resource Filters Project Properties > Resource > Resource Filters (none were added by STS when I imported the project

  2. 저도 같은 문제가 있었다 Project Properties > Java Build Path Checked to make sure the build/generated/source/apt/main is added to my Java Build Path settings under Project Properties > Java Build Path

+0

[Eclipse 및 Gradle 설치 안내서] (https://jhipster.github.io/configuring-ide-eclipse-gradle/)를 따랐습니까? 테스트 리소스 폴더가 올바르게 설정되지 않았기 때문에 문제가 발생했습니다. 정상적으로 처리되었을 것입니다. –

+0

@JulienDubois 나는 가능한 한 가깝게 따라 갔고 buildship 플러그인을 설치했다. (프로젝트를 가져온 후에도) 나는 Gradle STS Plugin을 제거하고 buildship을 다시 설치했다. –

+0

안녕하세요 @ jordan.baucke,이 오래된 스레드에 대한 의견을 보내 주셔서 죄송 합니다만,이 문제에 대한 해결책을 찾을 수 있었습니까? 나는 같은 문제를 겪고 있는데 아직 어떤 해결책도 찾을 수 없었다. 감사! –

답변

1

아래 build/generated/source/apt/main 내 자바 빌드 경로 설정에 추가되어 있는지 확인하는 검사 내가 작업 그것을 가지고 어떻게는 다음과 같습니다
1. 처음에 실행해야 테스트는 최소한 한 번은 gradle 빌드 작업의 일부로 수행 한 다음 JUnit
과 대화식으로 실행할 수 있습니다. 2. JHipster는 기본적으로 * UnitTest 또는 * IntTest라는 테스트 만 실행하도록 build.gradle 파일을 생성합니다. 이 기본 구성을 가지고 있지만 다르게 이름을 지정한 경우 위의 1 단계는 작동하지 않습니다. 빌드가 성공적으로 완료되었지만 실제로 테스트를 실행하지 않았기 때문에 여전히 JUnit에서 실행할 수 없기 때문입니다 .
3. 원래 질문에 대한 업데이트로 위에 추가 한 스크린 샷의 단계를 따르십시오.
이제 JUnit Test로 실행 해 봅니다.

+0

Intellij로 전환하고 IDE에서 gradle-tasks를 실행하는 것이 훨씬 쉬워졌습니다. –

관련 문제