Junit

Bong2·2021년 12월 14일
0

자바 개발자가 가장 많이 사용하는 테스팅 프레임워크

  • 자바 8 이상

platform : 테스트를 실행해주는 런처 제공. TestEngine API 제공
Jupiter : TestEngine API 구현체로 Junit5 제공
Vintage : Junit 3와 4를 지원하는 TestEngine 구현체

junit 4와 junit5의 차이

  • junit4 : 하나의 jar파일을 가져와서 다른 라이브러리를 참조해서 사용하는 것!!

  • junit5 : 그 자체로 모듈화가 되어있다. 테스트 작성자를 위한 API 모듈과 테스트 실행을 위한 API 분리

추가된것

  1. assertAll : 오류가 나도 끝까지 실행 ( 모든 테스트 코드를 한번에실행)
@Test
pulbic void create_study(){
	Study study=new Study();
assertNotNull(study);
assertEquals();
assertTrue();
}

@Test
public void create_study(){
	Study study=new Study();
	assertAll(
	()-> assertNotNull(),
	()-> assertEquals(),
	()-> assertTrue();
	);
}
  1. assertThrows
  • 예외 발생을 확인하는 테스트
  • executable의 로직이 실행하는 도중 expectedType의 에러를 발생시키는 지 확인
//junit4 : 단순히 이 예외를 발생하는지만 판단
@Test(expect= Exception.class)
void create() throws Exception{
...
}

//junit5
@Test
void exceptionThrow(){
	Exception e= assertThrows();
	assertDoesNotThrow(); 
}
  1. assertTimeout(duration,executable)
  • 특정시간 안에 실행이 완료되는 지 확인
  • Durtaion 원하는 시간
  • Executable 테스트할 로직
  1. Assumption
  • 전제문이 ture라면 실행 false 종료
  • assumTure : false일 때 이후 테스트 전체가 실행되지 않음
  • assumingThat : 파라미터로 전달된 코드 블럭만 실행되지 않음
profile
자바 백엔드 개발자로 성장하자

0개의 댓글