최고 상위를 4개로 나누면 

1번 : src/main/java 우리가 개발하는 소스파일이 들어있다. 사진에는 짤려서 나오지 않음

2번 : src/main/resources 소스파일이 실행이 되기위한 설정파일(db연동, properties설정등)

3번 : src/test/java TDD 소스

4번 : src/test/resource TDD가 실행되기 위한 설정파일이다.  


1번 쪽에 테스트하고싶은 컨트롤러를 하나 정해서 마우스왼쪽버튼 

New -> Other -> jUnit Test Case 를 선택

Source folder 부분의 Browse...를 눌러 3번 src/test/java 으로 수정하여 완료 한다.





그리고 4번 src/test/resource 쪽에 DB를 연동하는 datasource 와 properties 를 비롯하여 

각종 빈 설정 컨텍스트 파일을 넣어준다. 또한 sql 위치설정 파일도 함께 DB연결을 위하여 넣

어준다.

이곳에 있는 설정 파일은 2번src/main/resources 의 파일을 복사해 왔을 뿐이다.


그럼 이제 TDD 소스를 작성하면

 



@RunWith(SpringJUnit4ClassRunner.class) 로 선언 하고 TDD 시작을 알린후

@ContextConfiguration(locations = {"classpath*:context-*.xml"}) 로 먼저 읽어야할 설정 

파일의 위치를 알려줘야 한다.

* 의 의미는 생략하겟다(context- 이후 다른 글자 파일 모두)

저 위치는 바로 4번 위치가 되겠다.


context 설정 파일들은 기존 설정과 같고 주의 할 파일을 살펴보면 sqlMap 설정인데 
context-sqlMap.xml 파일을 보면 
기존

 

수정 후 
configLocation 의 value의 위치는 바로 자기 자신 폴더로 변경 해주는 것 

다음 sql-map-config.xml의 sql 파일의 경로에 최상위 / 를 제거해 줘야 한다.
예를 들어 <sqlMap resource="/root/sqlmap/sql/Code_SQL.xml"/> 라면 
<sqlMap resource="root/sqlmap/sql/Code_SQL.xml"/> 맨앞의 /를 제거 했다.

마지막으로 assertEquals 를 써서 비교를 해주면 테스트가 끝난다 물론 assertEquals이것은 같은지 아닌지를 비교 하는 것이다.

@Test 위에 @Autowired 를 어떻게 쓸수 있냐고 물어본다면 ... 할말은 없고 3번 영역의 파

일들을 왜 갔다 붙였는지 생각해 봐야겠다.

이상 끝







반응형

+ Recent posts