Skip to main content

Posts

Showing posts with the label junit

[Cobertura] cobertura 2.0.2 script fix

cobertura 2.0.2 버전을 다운받고 실행 시키려고 하면 엄청난 에러가 뿜어져 나온다. ㅠ 달리 설정을 틀리게 한 것도 없는데.. 하면서 script 를 열어보니 아래와 같이 작성되어 있다. - cobertura-instrument.sh java -cp `dirname $0`/cobertura.jar:`dirname $0`/lib/asm-3.3.1.jar:`dirname $0`/lib/asm-tree-3.3.1.jar:`dirname $0`/lib/asm-commons-3.3.1.jar:`dirname $0`/lib/log4j-1.2.9.jar:`dirname $0`/lib/jakarta-oro-2.0.8.jar net.sourceforge.cobertura.instrument.Main $* - cobertura-instrument.bat java -cp "%COBERTURA_HOME%cobertura.jar;%COBERTURA_HOME%lib\asm-3.3.1.jar;%COBERTURA_HOME%lib\asm-tree-3.3.1.jar;%COBERTURA_HOME%lib\asm-commons-3.3.1.jar;%COBERTURA_HOME%lib\log4j-1.2.9.jar;%COBERTURA_HOME%lib\jakarta-oro-2.0.8.jar" net.sourceforge.cobertura.instrument.Main %CMD_LINE_ARGS% 그런데 막상 다운받은 folder 구조를 보면.. cobertura-2.0.2.jar /lib     - asm-4.1.jar     - asm-commons-4.1.jar     - sam-tree-4.1.jar     - oro-2.0.8.jar .... script 왜 이렇게 되있지... 결국 cobertura 를 실행 시키기 위해서는 script 에서 버전 및 파일명을 다운받은 폴더...

[JUnit] JUnitMatchers 변경사항. - JUnit in Action

JUnit 에서 많이 사용하는 Hamcrest 라이브러리는 현재 1.3 버전이 가장 최신인다. 책에서는 JUnit 4.6 을 사용하기 때문에 Hamcrest 를 포함하고 있지만. 4.11 부터는 별도로 hamcrest-core.jar 를 다운 받아야 한다. 예제 3.18 에서는 hasItem 메소드를 사용하기 위해 다음과 같이 import 를 진행 한다. import static org.junit.JUnitMatchers.hasItem; 그런데 실제 코드에서 해당 메소드를 사용하게 되면 deprecated 표시가 나타나게 된다. JUnit sorce code  에서 JUnitMacthers.java 를 살펴보면 아래와 같은 주석을 보게 된다. Convenience import class: these are useful matchers for use with the assertThat method, but they are not currently included in the basic CoreMatchers class from hamcrest. 또한 대부분의 method 가 Deprecated 되어 있다. 그 대신, CoreMatchers 의 메소드 를 사용하라고 권고 하고 있다. org.hamcrest.CoreMatchers 를 살펴보면 JUnitMatchers 가 가지고 있던 메소드를 동일하게 가지고 있다.