2014-05-09 9 views
0

환경 정보
맥 OS X 10.9
오라클 JDK 1.7.0_55 64 비트
자이 썬 독립-2.5.3.jar
의 JUnit - 4.11- 나가서 설명하자면 NameError를 assertTrue

에 대한

내가 지금까지해온 내용
/Library/Java/Extensions에 junit jar를 추가했습니다.
다음과 같이 자이 썬을 호출했습니다. java -jar jython-standalone-2.5.3.jar
자이 썬 인터프리터에서 다음을 가져오고이 import org.junit.Assert이 성공적으로 가져 왔습니다. 내가 assertTrue을 사용하려고 할 때

문제
, 나는 인터프리터에서 NameError을 얻었다. 이게 왜 그렇게?

나는 assertTrue이 정적 방법이라는 것을 알고 있습니다. 자이 썬에서이 파일을 사용하려고 할 때 어떤 영향을 미치는지 확신 할 수 없다.

추가 컨텍스트
자이 썬에서 XMLUnit을 사용하고 있습니다. 자이 썬에서 의 Diff 클래스를 성공적으로 가져올 수있었습니다. 또한이 클래스의 메서드를 사용할 수 있으며 Diff 개체에서 호출 할 수 있습니다. 이 메서드 호출의 결과는 오류를 throw 할 때 assertTrue으로 전달하려고 시도한 것입니다.

from org.custommonkey.xmlunit import Diff 
import org.junit.Assert 

xml1 = ...some XML string... 
xml2 = ...some XML string... 

myDiff = Diff(xml1, xml2) 
assertTrue(myDiff.similar()) 

이 추가 정보가이 문제에 대한 해결책을 찾는 데 유용 할 것입니다.

최신 상태
나는 Assert() 생성자 protected 때문에,이 속성 python.security.respectJavaAccessibility = false 설정으로 좁혀.

아직 작동 시키려고합니다. 어떤 도움이라도 대단히 감사합니다.

답변

0

알아 냈어.

junit.jar 파일 외에 hamcrest-core.jar 파일도 /Library/Java/Extensions에 복사해야합니다.

그럼 jython.jar 파일을 제거하고 jython 설치 프로그램을 사용하여 설치했습니다.

설치가 완료되면 설치 폴더에서 registry 파일을 업데이트하고 특히이 속성을 python.security.respectJavaAccessibility = false으로 설정했습니다.

이제 assertTrue 메서드를 볼 수 있으며 더 이상 NameError이 표시되지 않습니다.