JUnit
보이기
개발자 | 켄트 벡, Erich Gamma, David Saff, Kris Vasudevan |
---|---|
안정화 버전 | 5.9.1
/ 2022년 9월 20일[1] |
저장소 | |
프로그래밍 언어 | 자바 |
운영 체제 | 크로스 플랫폼 |
종류 | 유닛 테스트 도구 |
라이선스 | 이클립스 공용 허가서[2] (relicensed from CPL before) |
웹사이트 | junit |
JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다.
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일에 확인함.