사용자 도구

사이트 도구


wiki:java:junit

문서의 이전 판입니다!


JUnit

  • description : JUnit에 관한 정비 기술
  • author : 도봉산핵주먹
  • email : hylee@repia.com
  • lastupdate : 2020-09-03

JUnit

JUnit A Cook's Tour
자바 프로그래밍 언어용 단위 테스트 프레임워크입니다.


기본 사용 방법

프로젝트 셋팅

1. 기본 JAVA 프로젝트 생성 > src에 “jUnitStudy” 패키지 생성 > Scoreable.java class 생성
2. src와 동일선상에 test 폴더 생성


JUnit 테스트 클래스 생성

JUnit Test Class라는 것을 eclipse에 알려주는 방법

1. Test할 class 우클릭 > New > JUnit Test Case 클릭


2. 네모 박스에는 “class name”/src 로 되어있다. 이를 “class name”/test로 변경해주면 test폴더 밑에 className+“Test.java”로 생성된다.

  • 처음 추가 시 New JUnit Test Case 라는 팝업으로 라이브러리를 추가 할거냐고 묻는다. OK 눌러주면된다.

Tip: 위 New JUnit Test Case 설정시에 상단에 라디오버튼이 있는데 이 중에 New JUnit 4 test를 선택해 줘야한다.



3. 프로젝트명 우클릭 > Run As > Junit Test로 Run해 준다.


4. Run하면 JUnit이라는 창에 상태가 표시된다.

  • 빨간 막대는 error가 있다는 표시
  • error 없으면 녹색표시


Trouble Shooting

JUnit5 (X), JUnit4 (O)

JUnit5는 오류가 아직 많아 안전한 JUnit4를 사용해야한다.

  • Java개발하는 eclipse나 IntelliJ 등등 개발 IDE에는 기본으로 포함되어있다.
  • 처음 설정시에는 5로 자동 설정되는 경우가 있으므로 재설정해야한다.


Annotation

어노테이션 설명
@Test 해당 Method는 Test대상 메소드임을 의미한다.
@BeforeClass 해당 테스트가 시작 전에 딱 한 번씩만 수행되도록 지정한다.
@AfterClass 해당 테스트가 끝나고 딱 한 번씩만 수행되도록 지정한다.
@Before 해당 테스트가 진행이 시작되기 전에 작업할 내용을 호출한다.
@After 해당 테스트가 진행이 끝난 후에 작업할 내용을 호출한다.
@Ignore TestCase를 무시할 수 있다.

Assert

단언

Assert 명 설명
assertTrue 참이라고 가정
assertFalse 거짓이라고 가정
assertEqual 동일하다고 가정
assertThat
* 부동 소수점 비교
assertThat(2.32*3, equalTo(6.96))
→ assertTrue(Math.abs1)
is(not(nullValue()))
is(notNullValue())
closeTo(, )
import static org.hamcrest.number.IsCloseTo.*


Tip


xUnit

언어별로 있는 단위 테스팅 프레임워크를 통칭 xUnit이라 합니다.

JUnit은 xUnit의 계열 중 하나 입니다.


xUnit이름 해당언어 관련 사이트
CUnit C http://cunit.sourceforge.net/
CppUnit C++ https://sourceforge.net/projects/cppunit/
PHPUnit PHp https://phpunit.de/
PyUnit Python http://pyunit.sourceforge.net/
JUnit Java http://junit.org/

Terms

FIRST(빠르고, 고립시키고, 반복 가능하며, 스스로 검증 가능하고, 적시에 사용)
Fast
Isolated
Repeatable
Self-validating
Timely

A.A.A(준비, 실행, 단언)
Arrange
Act
Assert

Ref

자바와 JUnit을 활용한 실용주의 단위 테스트(길벗 출판사)


1)
2.32*3) - 6.96) < 0.0005)
* 설명 추가 가능
assertThat('메시지', 실제 표현식, matcher)
* 실패하면 스택트레이스 출력 | 명확한 값을 비교, 햄크레스트
* assertThat(실제 표현식, matcher)
matcher
equalTo()
is(true)
startsWith('xyz')
not(equalTo(
/volume1/web/dokuwiki/data/attic/wiki/java/junit.1599557857.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)