spring-boot
으로 앱을 구축 중입니다. 끈적 세션 관련 문제를 방지하기 위해, 나는 pom.xml
에서 그 라인을 추가하여 자리에 레디 스 세션 저장소를 넣어 :단위 테스트에서 Redis 서버에 연결하지 못함
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
및 application.properties에서 그 라인 :
spring.redis.host=localhost
spring.redis.password=secret
spring.redis.port=6379
그것은처럼 일 매력. 내가 주석 @EnableRedisHttpSession
을 사용하지 않아도 작동한다는 것에 놀랐다. 처음에는 좋았습니다.
문제점 : 실제 응용 프로그램을위한 Spring 구성과 단위 테스트 전용 Spring 구성이 있습니다. 단위 테스트 환경에서 Redis 연결은 쓸모 없으며 테스트 환경에 Redis 서버를 설치하지 않으면 테스트를 실패하게 만듭니다.
필자는 Maven Redis를 Maven 종속물로 설치할 수 있지만이 쓸모없는 연결을 해제하는 방법을 발견하면 더 깨끗하게됩니다.
아이디어가 있으십니까?
봄 부트의'SessionAutoConfiguration'는에서 개막 당신은 당신의 응용 프로그램에서 제외 할 수 있습니다. ('@ SpringBootApplication' 또는 속성)은 [here] (https://github.com/pivotal-cla/blob/b35645d709fc4bae31b353eaddbd15374cf2570f/src/main/java/io/pivotal/cla/GithubClaApplication.java)를 참조하십시오. – mp911de
@ mp911de이 기능은 응용 프로그램 conf 및 test conf에 모두 적용 할 때만 추가 할 수 있습니다. 응용 프로그램 conf에서만'@ EnableRedisHttpSession'을 수동으로 추가하면 테스트 구성에 의해 감지됩니다. 테스트 conf가 앱 구성 파일에서'@ EnableRedisHttpSession'을 감지하지 못하게하는 방법에 대한 아이디어가 있습니까? –
'@Enable ... '주석은 복구되지 않습니다. 활성화 됨이 활성화됩니다. 프로파일이 당신을 도울 수 있다고 생각합니다. – mp911de