Spring TestContext 에서 JUnit 4 를 실행 하 는 오류 (java. lang. NoClassDef Foundation Error) 문 제 를 해결 합 니 다.

Spring 버 전 2.5.5, JUnit 버 전 4.8.1, Spring TestContext 의 SpringJUnit 4 ClassRunner 를 사용 했다.이 버 전의 JUnit 을 계속 사용 하고 있 습 니 다. 간단 한 테스트 를 쓸 때 틀 리 지 않 습 니 다. 오늘부터 규범 화 된 JUnit 테스트 코드 를 쓰 려 고 시 도 했 습 니 다. 다음 과 같은 오 류 를 던 졌 습 니 다.
 
java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException
      at org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod( SpringMethodRoadie.java:240)
      at org.springframework.test.context.junit4.SpringMethodRoadie$RunBeforesThenTestThenAfters.run( SpringMethodRoadie.java:333)
...
Caused by: java.lang.ClassNotFoundException: org.junit.Assume$AssumptionViolatedException
      at java.net.URLClassLoader$1.run( URLClassLoader.java:202 )
      at java.security.AccessController.doPrivileged( Native Method )
      at java.net.URLClassLoader.findClass( URLClassLoader.java:190 )
      ... 17 more
 
 
인터넷 에 있 는 자 료 를 찾 아 봤 는데 [1, 2] 스프링 과 JUnit 버 전이 호 환 되 지 않 아서 생 긴 것 이다.해결 방법:
 
JUnit 버 전 을 4.4 로 수정 합 니 다.
 
---------------------------------------------------------------------------------------
[1]http://forum.springsource.org/showthread.php?60230-spring-test-breaks-in-Junit-4-5
[2]https://jira.springsource.org/browse/SPR-5145

좋은 웹페이지 즐겨찾기