A project (B에 의존적), B Project 2개가 있습니다.
A project를 테스트 하기 위해서는 B project도 Running 가 되어야 합니다.
JUnit를 이용해서 테스트를 하는데
@ContextConfiguration( locations = {A,B,C} )
이런식으로는 단일 Context밖에 테스트가 할수가 없네요.
(location에 A,B의 spring설정파일을 모두 갔다 박으면! 되겠지만..
bean ID등 동일한것이 많아서 불가능합니다)
다중 컨텍스트에서 JUnit를 효율적으로 사용하는 방법이 있을까요~~?
의견좀 부탁드릴께요 ^^
정확한 답은 ksug 고수분들께서 답변해주실듯 합니다! (ㅎㅎ 제가 실력없는 초보개발자이라서..흑흑.T_T)
ps)회장님 저 답글 하나 썼어요. 인정해주세요. +_+
2009/11/4 Toby Lee <toby...@gmail.com>:
--
email: anar...@gmail.com
blog: http://anarcher.appspot.com/
lean...@gmail.com 쓴 글:
현재 프로젝트는 maven build를 위한 parent 프로젝트가 있고
Dao단을 위한 Dao 프로젝트가 있습니다 (sql, ibatis, dao단으로 이루어져 있습니다),
parent, dao 프로젝트를 각각 목적에 따라서 의존을 걸어서 사용하고 있습니다.
A : 웹서비스를 위해서 웹용 서비스, mvc 이용
B : 모바일 서비스를 위해 서비스, mvc 이용
그외 : 데모용, openAPI용 프로젝트등등
(A,B등을 컨슈머라 칭하고 DAO단 프로젝트를 프로바이더라 칭하겠습니다)
컨슈머는 실제적으로 Dao단을 프로바이더에게서 제공받습니다.
그렇기 때문에 빌드 타임에 프로젝트 의존성이 걸려있어야 하고요, 테스트 역시 마찬가지입니다.
(예로, 컨슈머의 Service Class는 프로바이더의 UserDao를 @Autowired로 접근하고 있습니다)
기존에는 99프로 annotation 기반이라 컨슈머, 프로바이더의 모든 spring xml 파일을 classpath*:/
spring/bean.xml 이런식으로
하나의 @ContextConfiguration 에서 설정해서 테스트 했는데, 지금은 그런 사정이 안되어서요...
고종봉님 말씀대로
컨슈머에서 사용하는 프로바이더의 모든 객체를 Mock으로 만들어야 하나 생각중입니다 (우어어어-.-)
고종봉님 말씀대로
컨슈머에서 사용하는 프로바이더의 모든 객체를 Mock으로 만들어야 하나 생각중입니다 (우어어어-.-)