2013-08-29 3 views
0

나는 grails 어플리케이션을 작업 중입니다. 응용 프로그램보기 및 컨트롤러에는 grails 구성 요소 만 있습니다. 대신 도메인 및 서비스 응용 프로그램을 사용하는 DTOs 및 BLs 자바 파일이 각각 있습니다.grails.plugins.springsecurity 패키지가 jUnit 테스트에 존재하지 않습니다.

나는 스프링 보안 서비스를 사용하여 사용자를 재 인증해야하는 junit 테스트를 작성 중이다. 나는 심지어 가져 오기에 오류가 발생하고 아무 생각이 왜

[javac] ... error: package grails.plugins.springsecurity does not exist 
[javac] import grails.plugins.springsecurity.SpringSecurityService; 
[javac] ... error: package grails.plugins.springsecurity does not exist 
[javac] private SpringSecurityService springSecurityService = ... 

: 나는 테스트를 실행할 때 그것은 나에게 다음과 같은 오류를 제공합니다. 코드 :

import grails.plugins.springsecurity.SpringSecurityService; 
.... 
SpringSecurityService springSecurityService = ... 
... 

또는

JUnit 테스트에서 사용자를 재 인증하는 다른 더 좋은 방법이 있나요?

저는 으로 junit 테스트에서 사용자를 인증하는 방법을 찾았지만 해결책은 발견되지 않았습니다.

답변

1

이 특정 문제가 왜 발생하는지 잘 모르겠지만 실제로 단위 테스트로 보안을 테스트 할 수는 없습니다. Spring Security는 필터 체인으로 구현되므로 요청을 작성하고 체인을 적용해야한다.

이것은 제대로 조롱 될 수 있지만 많은 작업이 필요합니다. 가장 좋은 방법은 실제로 실행중인 서버와 실제 요청을 사용하여 기능 테스트를 이용하는 것입니다. 다른 접근법에서 오탐 (false positive)의 위험이 너무 높습니다.

관련 문제