본문 바로가기
책 뿌시기(읽고난 후 생각정리)/JUnit in Action

2장 JUnit 핵심

by DanteMustDie 2023. 12. 14.
728x90

이 글은 책을 읽은 후 책 본문을 인용하거나 글쓴이의 생각을 가미하여 작성 한 글입니다. 따라서 책의 대한 내용을 올바르게 이해하는 것은, 직접 책을 읽고 이해하는 것이 가장 베스트입니다.

테스트 클래스

    - public class 여야 하고, 파라미터를 받지 않는 생성자를 제공해야 한다.

    - 테스트 메서드는 @Test 애노테이션이 있어야 하고, public이고, 파라미터도 받아서는 안된다. 반환형은 void여야 한다.

    - JUnit은 각 @Test 메서드를 호출할 때마다 테스트 클래스의 인스턴스를 새로 생성하며 모든 테스트 메서드는 각기 다        른 테스트 클래스 인스턴스에서 실행되므로 인스턴스 변수는 공유될 수 없다.

    - 테스트 검증에는 Assert 클래스에 정의된 assert 메서드를 사용한다.

    - assert 메서드 중 파라미터 2개를 받는 요소들은 항상 같은 패턴(기대결과값,테스트값)을 따른다.

assert method 목적
assertArrayEquals("message", A, B) 배열 A와 B가 일치함을 확인
assertEquals("message", A, B) 객체 A와 B가 일치함을 확인. B를 파라미터로 A의 메서드를 호출(A.equals(B))
assertSame("message", A, B) 객체 A와 B가 같은 객체임을 확인한다.
Equals는 값을 확인 했다면, Same은 물리적으로 동일 객체인지 비교한다.(메모리 주소 비교)
assertTrue( "message", A) 조건 A가 참(TRUE)임을 확인
assertNotNull( "message", A) 객체 A가 NULL이 아님을 확인

테스트 스위트

    - 테스트 스위트는 특수한 형태의 테스트 러너로 여러개의 테스트 클래스를 동시에 실행할때 쓰이는 객체, 일종의 테스트 집합이며 별도로 테스트 스위트가 정의되지 않았다면 JUnit이 테스트 클래스 내 모든 테스트들을 포함하는 스위트를 자동으로 만들어준다.

테스트 러너

    - 테스트 스위트를 실행하는 일종의 엔진

 

파라미터화(parameterized)는 버전 4, 5가 차이가 있으므로 내용 생략.

JUnit5 ParameterizedTest 중, MethodSource 적용 예시, MOCK MVC대신, Controller에서의 param 임의 생성

 

반응형

'책 뿌시기(읽고난 후 생각정리) > JUnit in Action' 카테고리의 다른 글

3장 JUnit 마스터하기  (0) 2023.12.19
1장 JUnit 첫걸음  (0) 2023.12.13