티스토리 뷰

* 개요

- JUnit 잘 되던 Test Class 가 

JUnit can not find test class '....' in project '....' 메시지를 보이며 안됨.




* 환경

Eclipse Luna

Windows 7 

Spring

Gradle



* 원인분석

- 테스트 클래스가 있는 폴더가 그냥 Folder가 아니라 'Source folder' 여야 함.

- 잘 되다 안됐던건 Gradle 에서 설정이 안 되어있어 관련 설정이 초기화됐기 때문.



* 일반적인 경우는 Source folder 설정

테스트 폴더 > 우클릭 > Build path > Use as source folder 선택하면 됨



* Gradle 사용 하는 경우 'Source folder' 설정

- Source folder 로 지정해도 Gradle로 build 할 때마다 환경이 초기화가 될 수 있음

- Gradle 설정 파일 자체에 테스트 폴더를 'Source folder' 로 지정하는 코드를 넣어야 함.

sourceSets {

main {

java {

srcDirs = ["src/main/java"]

}

}

test {

java {

srcDirs = ["src/test"]

}

}

}

- 참고 :  http://stackoverflow.com/questions/2551463/can-gradle-handle-a-build-directory-stucture-that-does-not-conform-default-conve

- 여러개의 폴더를 설정하려면 ["폴더1", "폴더2", ...] 




* 참고 : Deployment Assembly 정보 Gradle에서 추가하는 법

eclipse{

wtp{

...

component {

     resource deployPath: '배포될경로', sourcePath: '소스경로'

   }

}

}


* spring-test 의 경우 Gradle 설정

spring-test 사용하는 경우 스프링 설정 파일을 Deployment Assembly 에 추가하기 위해 다음과 같이 하면 된다고 생각했지만,

resource deployPath: 'WEB-INF/classes', sourcePath: 'src/main/webapp/WEB-INF/spring'

- 웹프로젝트는 기본적으로 WEB-INF 가 배포되므로 그 이하에 있는 /spring을 위와 같이 별도의 정상적인 배포가 되지 않음 ( 별다른 오류도 없이 404 발생 )

- 따라서 Assembly Deployment 로 지정하지 않고 Source folder 로 지정해놓고 사용.


sourceSets {

main {

java {

srcDirs = ["src/main/java"]

}

}

test {

java {

srcDirs = ["src/test", "src/main/webapp/WEB-INF/spring"]

}

}

}


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함