2011-03-31 3 views
1

junit 테스트 케이스를 포함하여 소스 (svn 저장소) 코드에서 프로젝트를 빌드하는 동안 junit은 오류없이 전달됩니다. 그러나 junit을 개별적으로 실행하는 동안 junit는 실패합니다. 필요한 모든 jar 파일을 추가했습니다. java, jdk 경로 및 환경 변수가 모두 정확합니다. 다음은 Junit 테스트 케이스 실패 : java.lang.IllegalStateException : ApplicationContext를로드하지 못했습니다.

내가 얻을 예외, 도와주세요 :

java.lang.NoClassDefFoundError: org/springframework/expression/PropertyAccessor 
    at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:483) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:400) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:42) 
    at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:173) 
    at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:197) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) 
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:111) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:148) 
    at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) 
    at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) 
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) 
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) 
    at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

답변

1

을 당신은 java.lang.NoClassDefFoundError가을 받고 있기 때문에 org.springframework.expression.PropertyAccessor 들어있는 org.springframework.beans.jar ()가 테스트를 실행할 때 클래스 경로에서 누락되었습니다.

모든 테스트를 실행하는 경우와 다른 방법으로 개별 테스트를 실행해야합니다.

+0

응답 해 주셔서 감사합니다.이 jar "spring-expression-3.0.5.RELEASE"를 추가했습니다. "org.springframework.expression.PropertyAccessor"가 있지만 테스트 케이스를 실행할 때 아래 오류 [main] (TestContextManager.java:258)가 나타납니다 - TestExecutionListener [org.springframework.test.context. [email protected]], java.lang.IllegalStateException : ApplicationContext, –

+0

을로드하지 못했습니다 : org.springframework.beans.factory.BeanCreationException : 'org.apache.cxf.wsdl.WSDLManager'라는 이름으로 bean을 생성하는 중 오류가 발생했습니다. 클래스 경로 자원 [META-INF/cxf/cxf.xml] : 빈 인스턴스화에 실패했습니다. 중첩 예외는 org.springframework.beans.BeanInstantiationException : Bean 클래스 [org.apache.cxf.wsdl11.WSDLManagerImpl]을 생성 할 수 없습니다 : 생성자가 예외를 던졌습니다. 상자가없는 예외는 java.lang.RuntimeException입니다. javax.xml.bind.JAXBException : Provider com.sun.xml.bind.v2.ContextFactory를 인스턴스화 할 수 없습니다. –

+0

javax.xml.bind.JAXBException : Provider com.sun.xml. bind.v2.ContextFactory not found ..................... 실행 방법은 다음과 같습니다. 'build.xml'파일을 사용하여 자동화 된 완료 빌드 중 테스트 사례가 통과합니다. 하지만 개인 또는 테스트 케이스 그룹을 마우스 오른쪽 버튼으로 클릭하고 '실행 -> junit'을 실행하면 실패합니다. 제가 잘못했는지 알려주세요. –