Java에서 단위테스트 작성시 Setter 메소드가 없는 private 필드에 값을 삽입하는 것이 어렵다. 이 경우 보통 Spring의 ReflectionTestUtils를 사용하는데, 사용법이 복잡하여 이를 아래와 같이 단순화 하는 툴을 만들었다.
다운로드 : reflectioninjector.7z
import static kr.pe.kwonnam.reflectioninjector.ReflectionInjectorUtils.injector; ... injector(articleService).set(articleDao) .set(commentDao) .set("userDao", userDao) .set(SearchEngineDao.class, searchEngineDao);
import static kr.pe.kwonnam.reflectioninjector.ReflectionInjectorUtils.injector; ... ReflectionInjector ri = injector(articleService); // 값 설정 작업... CommentDao commentDao = ri.get(CommentDao.class); UserDao userDao = ri.get(UserDao.class, "userDao");