더북(TheBook)

예제 7-7은 두 개의 새로운 애너테이션을 보여준다. @ProfileValueSourceConfigurationCustomProfile 클래스를 가리키며, 몇몇 비즈니스 로직을 수행하려면 이 클래스가 필요함을 유닛 테스트에 알린다. @IfProfileValue 애너테이션에는 이름(키)를 전달하고 값을 리턴받는다. 테스트를 수행하면 다음과 같은 출력을 볼 수 있다.

 

2014-07-30 17:27:57,432 DEBUG [Test worker] SearchEngineService created: com.apress.isf.spring.service.SearchEngineService@4cca713

2014-07-30 17:27:57,639 DEBUG [Test worker] Document DAO set: com.apress.isf.spring.data.DocumentRepository@befc461

2014-07-30 17:27:57,685 DEBUG [Test worker] Using Spring Test fixtures:

2014-07-30 17:27:57,686 DEBUG [Test worker] Start <findByType> Params: Type Definition:

Name: WEB

Description: Web Link

Extension: .url

2014-07-30 17:27:57,690 DEBUG [Test worker] Start <listAll> Params:

2014-07-30 17:27:57,694 DEBUG [Test worker] Start <getAll> Params:

2014-07-30 17:27:57,694 DEBUG [Test worker] End <getAll> Result:[Lcom.apress.isf.java.model.Document;@4a93e25f

2014-07-30 17:27:57,697 DEBUG [Test worker] End <listAll> Result: [com.apress.isf.java.model.Document@2685a92f, com.apress.isf.java.model.Document@771ecb9a, com.apress.isf.java.model.Document@64b99fce, com.apress.isf.java.model.Document@316d181c]

2014-07-30 17:27:57,702 DEBUG [Test worker] End <findByType> Result: [com.apress.isf.java.model.Document@316d181c]

2014-07-30 17:27:57,705 DEBUG [Test worker] Start <listAll> Params:

2014-07-30 17:27:57,705 DEBUG [Test worker] Start <getAll> Params:

2014-07-30 17:27:57,705 DEBUG [Test worker] End <getAll> Result:[Lcom.apress.isf.java.model.Document;@3aaa13cf

2014-07-30 17:27:57,705 DEBUG [Test worker] End <listAll> Result: [com.apress.isf.java.model.Document@2685a92f, com.apress.isf.java.model.Document@771ecb9a, com.apress.isf.java.model.Document@64b99fce, com.apress.isf.java.model.Document@316d181c]

 

2014-07-30 17:27:57,713 DEBUG [Test worker] Using Spring Test fixtures on Unix:

 

두 테스트 모두 올바른 값을 리턴하므로 정상적으로 실행한다.

<Note> @ProfileValueSourceConfiguration을 제거하면 유닛 테스트가 System.getProperty(propertyKey)에 기반을 둔다. 이는 Unix 값으로 환경 변수 os.name을 추가하면 테스트 메서드 testUsingSpringTestWithCustomProfilesY가 실행됨을 의미한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.