오픈소스 Java 테스트 프래임웍 7선

by PSEG posted Apr 09, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

오픈소스 Java 테스트 프래임웍 7선

javatest.png



1. Arquillian

Integration, acceptance 테스트 자동화에 적합한 도구이다. 빌드, 테스트 할 때 tun-rime을 관리해주기 때문에 개발자가 run-time을 별도로 관리하지 않도도 된다. 컨테이너, 테스트케이스, 클래스와 리소스 의존관계 관리도 지원한다. 

Ant, Maven 테스트 플러그인을 지원하므로 JUnit4, TestNG5 그리고 IDE 와 연동해서 테스트 할 수 있다.


2. The Grinder

Java 로드 테스트 프레임웍으로 분산된 다수의 load injector machine을 구성해서 로드 테스트를 수행할 수 있다. Java API라면 HTTP, SOAP/REST, 그리고 custom protocol 방식으로 로드 테스트 가능하다. 테스트 스크립트는 Jython과 Clojure 언어로 작성한다. The Grinder를 통해 load injector 개수, client connection, cookie, SSL, Proxy 를 관리 할 수 있다.


3. TestNG

JUnit과 NUnit 영향을 받은 테스트 프래임웍으로 unit, functional, end-to-end, integration 테스트등 광범위한 테스트 범위를 지원한다. Annotation, 강력한 thread pool을 이용한 테스트, thread safe 코드 테스트, 유연한 테스트 구성등의 잇점이 있다. 그리고  파라메타에 데이터 입력 테스트를 할 수 있다.  독립 테스트 또는 Eclipse IDE 내에서 실행 가능하다.


4 JUnit

널리 알려진 Java unit 테스트 프레임웍이다. JUnit은 컴파일 시점에서 JAR의 형태로 링크된다.  


5. JWalk

Java를 위한 unit test tookit으로 자동으로 unit 테스트 케이스를 생성하고 수정된 코드를 반영하여 테스트 케이스를 생성하여 JUnit에 비해 테스트 케이스 작성에 드는 시간을 절약해준다. 공식적으로 JRE 1.6까지 지원하고 있다.

라이센스는 개인 프로젝트의 경우 무료이며, 대형 프로젝트의 경우 negotiation이 요구된다.


6. Mockito

테스트 자동화와 TDD 과정에서 Java unit 테스트를 개발할 때 mock 생성을 손쉽게 도와주고 mock 에 대한 stub도 작성할 수 있다. 라이센스는 MIT.


7. Powermock

Mockito, EasyMock 보다 조금 더 강력한 mock 프레임웍이다. 자체적인 classloader, bytecode manipulator를 사용해 static method mocking하고 static initialize, constructor, final class, final method, private method를 제거한다. 라이센스는 Apache License 2.0.


참고 사이트 

TAG •