예제 7-1에서는 @RunWith 애너테이션을 사용하고 있다. 이 애너테이션은 단순히 JUnit 애너테이션으로, JUnit이 유닛 테스트를 수행하는 데 JUnit 엔진 대신 SpringJUnit4ClassRunner 클래스를 사용하도록 한다. 이렇게 하면 스프링 컨테이너 접근 같은 스프링 통합 테스팅의 모든 기능을 사용할 수 있다. 또한, 스프링 테스팅 설비의 일부인 @ContextConfiguration 애너테이션을 사용하고 있다. 이 애너테이션은 XML 설정의 위치를 전달해서 스프링 컨테이너를 로드하고, 컨텍스트 그리고 더 나아가 잘 알려진 @Autowired 애너테이션을 사용해 접근할 수 있는 빈들을 준비하는 데 도움을 준다.
gradle 도구를 사용해 이 테스트(예제 7-1 참고)를 수행하면
$ gradle :ch07:test
다음과 같은 출력을 얻는다.
2014-07-30 17:20:58,910 DEBUG [Test worker] SearchEngineService created: com.apress.isf.spring.service.SearchEngineService@4c673b64
2014-07-30 17:20:59,008 DEBUG [Test worker] Document DAO set: com.apress.isf.spring.data.DocumentRepository@370a8418
2014-07-30 17:20:59,040 DEBUG [Test worker] Using Spring Test fixtures:
2014-07-30 17:20:59,041 DEBUG [Test worker] Start <findByType> Params: Type Definition:
Name: WEB
Description: Web Link
Extension: .url
2014-07-30 17:20:59,041 DEBUG [Test worker] Start <listAll> Params:
2014-07-30 17:20:59,041 DEBUG [Test worker] Start <getAll> Params:
2014-07-30 17:20:59,041 DEBUG [Test worker] End <getAll> Result:[Lcom.apress.isf.java.model.Document;@7f7f7937
2014-07-30 17:20:59,041 DEBUG [Test worker] End <listAll> Result: [com.apress.isf.java.model.Document@48e619dc, com.apress.isf.java.model.Document@492f87b6, com.apress.isf.java.model.Document@14224838, com.apress.isf.java.model.Document@10102d4a]
2014-07-30 17:20:59,042 DEBUG [Test worker] End <findByType> Result: [com.apress.isf.java.model.Document@10102d4a]
2014-07-30 17:20:59,042 DEBUG [Test worker] Start <listAll> Params:
2014-07-30 17:20:59,042 DEBUG [Test worker] Start <getAll> Params:
2014-07-30 17:20:59,042 DEBUG [Test worker] End <getAll> Result:[Lcom.apress.isf.java.model.Document;@6840fe6d
2014-07-30 17:20:59,042 DEBUG [Test worker] End <listAll> Result: [com.apress.isf.java.model.Document@48e619dc, com.apress.isf.java.model.Document@492f87b6, com.apress.isf.java.model.Document@14224838, com.apress.isf.java.model.Document@10102d4a]
이 애너테이션 기능은 코드를 단순하게 하고 행 수를 줄여주어 코드를 읽고 이해하기 쉽게 해준다. 또한, 실제 테스트에 집중할 수 있게 해준다.