2016-07-18 3 views
2

junit-dep jar 위에 hamcrest-all-1.3이 있고 ant를 사용하여 실행하면이 예외가 계속 발생합니다. 그러나 Eclipse는이 충돌을 해결할만큼 지능적이며 테스트가 효과적입니다. 나는 classpath에 mockito를 가지고 있지 않지만, jmockit과 easymock을 가지고있다. 나는 여기서 문제가 없다고 생각한다. 여기 어설입니다 : 이클립스, "assertThat"키를 누릅니다 F3에 커서를 넣어 :NoClassDefFoundError on org/hamcrest/Matchers on junit

import static org.hamcrest.MatcherAssert.assertThat; 
import static org.hamcrest.Matchers.lessThanOrEqualTo; 
/* ... 
... 
... */ 


assertThat(10, lessThanOrEqualTo(20)); 

예외는 문제의 같은 종류의 문제를 해결하는

[junit] org/hamcrest/Matchers

[junit] java.lang.NoClassDefFoundError: org/hamcrest/Matchers

+0

일부 코드를 올리십시오. 매니페스트가 올바른 클래스 – Confiqure

+0

을 가리키는 지 확인하십시오. 환경에 대해 더 자세히 알려주십시오. 어떤 IDE, 어떻게 테스트를 실행합니까 (Eclipse, IntelliJ, Maven, Ant, ...)? –

+0

설명이 업데이트되고 코드가 게시되었습니다. 개미에서 실행할 때이 오류가 발생합니다. Eclipse는 이러한 상황을 해결합니다. – Sabarish

답변

2

Stefan이 언급 한대로이 문제를 해결하려면 두 hamcrest jar가 모두 필요합니다. junit-4.12.jar, hamcrest-core-1.3.jar 및 hamcrest-library-1.3.jar

0

한 가지 방법이다.

해당 클래스/메소드 뒤에있는 소스로 이동합니다. 아마 당신은 당신이 말하는, 빈 창으로 끝낼 :를 찾을 수 없습니다

클래스 파일 편집기

소스를

당신에게 assertThat 실제로 찾을 수있는 JAR 파일의 이름을 말할; 제 경우에는 junit-4.11.jar가됩니다.

짧은 이야기 : 빌드 설정에 JUnit jar가 포함되어 있는지 확인하십시오.