JUnit
유닛 테스트 프레임워크
(제이유닛에서 넘어옴)
JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다.
개발자 | 켄트 벡, Erich Gamma, David Saff, Kris Vasudevan |
---|---|
안정화 버전 | 5.9.1
/ 2022년 9월 20일[1] |
저장소 | |
프로그래밍 언어 | 자바 |
운영 체제 | 크로스 플랫폼 |
종류 | 유닛 테스트 도구 |
라이선스 | 이클립스 공용 허가서[2] (relicensed from CPL before) |
웹사이트 | junit |
JUnit은 컴파일 타임에 JAR로서 링크된다. 프레임워크는 JUnit 3.8 이하의 경우 junit.framework
패키지 밑에 상주하며, JUnit 4 이상의 경우 org.junit
패키지 밑에 상주한다.
깃허브에 호스팅된 10,000개 자바 프로젝트를 대상으로 한 2013년 수행된 연구 조사에 따르면 JUnit(slf4j-api과 연결된)은 가장 흔히 포함시킨 외부 라이브러리였다. 각 라이브러리는 프로젝트 가운데 30.7%에 사용되었다.[3]
JUnit 테스트 픽스처 예시
편집JUnit 테스트 픽스처(test fixture)는 자바 객체이다. 구 버전의 JUnit의 경우 픽스처는 junit.framework.TestCase
로부터 상속해야 했으나 JUnit 4의 새 테스트는 이렇게 하지 않는다.[4] 테스트 메소드는 @Test
어노테이션을 통해 어노테이트해야 한다. 필요한 경우,[5]
import org.junit.jupiter.api.*;
public class FoobarTest {
@BeforeAll
public static void setUpClass() throws Exception {
// Code executed before the first test method
}
@BeforeEach
public void setUp() throws Exception {
// Code executed before each test
}
@Test
public void oneThing() {
// Code that tests one thing
}
@Test
public void anotherThing() {
// Code that tests another thing
}
@Test
public void somethingElse() {
// Code that tests something else
}
@AfterEach
public void tearDown() throws Exception {
// Code executed after each test
}
@AfterAll
public static void tearDownClass() throws Exception {
// Code executed after the last test method
}
}
포팅
편집- 액션스크립트 (FlexUnit)
- 에이다 (AUnit Archived 2011년 9월 27일 - 웨이백 머신)
- C (CUnit)
- C# (NUnit)
- C++ (CPPUnit, CxxTest Archived 2012년 2월 5일 - 웨이백 머신)
- 어도비 콜드퓨전 (MXUnit)
- 델파이 (DUnit)
- 얼랭 (EUnit)
- 에펠 (Auto-Test)
- 포트란 (fUnit, pFUnit)
- 프리 파스칼 (FPCUnit)
- Golang (Go JUnit report)
- 하스켈 (HUnit)
- 자바스크립트 (JSUnit)
- 마이크로소프트 닷넷 (NUnit)
- 오브젝티브-C (OCUnit)
- OCaml (OUnit)
- 펄 (Test::Class, Test::Unit)
- PHP (PHPUnit)
- 파이썬 (PyUnit, junit-xml)
- Qt (QTestLib)
- R (RUnit)
- 루비 (JUnit for Rspec)
같이 보기
편집각주
편집- ↑ “JUnit Releases”. 《github.com》. 2022년 9월 22일에 확인함.
- ↑ “Relicense JUnit from CPL to EPL”. Philippe Marschall. 2013년 5월 18일. 2013년 9월 20일에 확인함.
- ↑ “We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby”. 2014년 7월 9일에 원본 문서에서 보존된 문서. 2019년 4월 17일에 확인함.
- ↑ en:Kent Beck, en:Erich Gamma. “JUnit Cookbook”. junit.sourceforge.net. 2020년 6월 15일에 원본 문서에서 보존된 문서. 2011년 5월 21일에 확인함.
- ↑ en:Kent Beck. “Expensive Setup Smell”. C2 Wiki. 2011년 11월 28일에 확인함.