Contents
- Junit이 뭐임!
- Junit 왜 씀?
Junit이 뭐임! (자바 유닛!)
공식 사이트 왈 :
Junit은 JAVA에서 반복 가능한 테스트를 작성하기 위한 간단한 단위 테스트 프레임 워크입니다. 또한 단위 테스트 프레임 워크를 위한 xUnit 아키텍처의 인스턴스입니다. Junit은 컴파일 시 JAR로 링크됩니다.
자바 개발자가 많이 사용하는 테스팅 기반 프레임워크입니다.
특징
- Testing 결과를 단순히 문서로 남기는 것이 아니라 Test Class를 그대로 남겨 추후에 개발자에게 테스트 방법 및 클래스의 History를 넘겨줄 수 있습니다.
- @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지게 합니다.
- 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별할 수 있습니다.
- jUnit4부터는 어노테이션@으로 테스트를 지원합니다.
- 테스트 결과를 확인하는 것 이외 최적화된 코드를 유추해내는 기능도 제공합니다.
Junit 왜 씀!
단위테스트 :
모든 함수와 메서드에 대한 테스트 케이스를 작성하여 의도된 대로 잘 동작하는지 검증하는 절차입니다.
소스코드의 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차입니다.
프로그램을 작은 단위로 쪼개어 각 단위가 정확하게 동작하는지 검사함으로써 프로그램의 안정성을 높입니다.
단위테스트를 활용하면 System.out으로 하는 디버깅 시간을 단축할 수 있습니다.
Junit 어케씀!
@ 어노테이션 @
@Test
메서드가 테스트 메서드임을 나타냅니다.
Junit은 각각의 테스트가 독립적으로 실행되며, @Test마다 객체를 생성합니다.
@ParameterizedTest
메서드가 매개 변수화 된 테스트임을 나타냅니다.
@RepeatedTest
반복 테스트를 위한 테스트임을 나타냅니다.
@TestFactory
동적 테스트를 위한 테스트 팩토리임을 나타냅니다.
@TestTemplate
여러번 호출되도록 설계된 테스트 케이스의 템플릿임을 나타냅니다.
@TestMethodOrder
테스트 클래스에 대한 테스트 메서드 실행 순서를 구성하는데 사용됩니다.
@TestInstance
테스트 인스턴스 라이프 사이클을 구성하는데 사용됩니다.
@DisplayName
테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름을 선언합니다.
@DisplayNameGeneration
테스트 클래스에 대한 사용자 지정 이름 생성기를 선언합니다.
@BeforeEach
모든 테스트 메소드 실행 전에 실행되는 메소드입니다. (@Before)
@AfterEach
모든 테스트 메소드 실행 후에 실행되는 메소드입니다. (@After)
@BeforeAll
테스트 실행 전에 제일 먼저 실행되는 메소드입니다. (@BeforeClass)
@AfterAll
테스트 실행 마지막에 실행되는 메소드입니다. (@AfterClass)
@Nested
클래스가 정적이 아닌 중첩 클래스임을 나타냅니다.
@Tag
클래스 또는 메서드 수준에서 테스트 필터링을 위한 태그를 선언할 때 사용됩니다.
@Disable
테스트 클래스나 테스트 메소드를 비활성화 할 때 사용됩니다.
@Timeout
실행이 주어진 시간을 초과하는 경우 실패하도록 하는데 사용됩니다.
@ExtendWith
확장을 선언적으로 등록하는 데 사용됩니다.
@RegisterExtension
필드를 통해 프로그래밍 방식으로 확장을 등록할 때 사용됩니다.
@TempDir
필드 주입 또는 매개변수 주입을 통해 임시 디렉토리를 제공하는데 사용됩니다.
단정 메서드
assertEquals(x, y)
객체 x, y가 일치함을 확인합니다.
assertArayEquals(x, y)
배열 x와 y가 일치함을 확인합니다.
assertFalse(x)
x가 False인지 확인합니다.
assertTrue(x)
x가 True인지 확인합니다.
assertNull(x)
객체 x가 null인지 확인합니다.
seertNotNull(x)
객체 x가 null이 아닌지 확인합니다.
assertSame(x, y)
객체 x와 y가 같은 객체의 레퍼런스임을 확인합니다.
asswertNotSame(x, y)
객체 x와 y가 같은 객체의 레퍼런스가 아닌지 확인합니다.
asserfail()
테스트를 실패 처리합니다.
'아 이게 뭐임!' 카테고리의 다른 글
Lombok이 뭐임! (0) | 2021.07.13 |
---|---|
Log4j가 뭐임! (0) | 2021.07.12 |
Jndi가 뭐임!! (0) | 2021.07.10 |
HikariCP이 뭐임! (0) | 2021.07.09 |
HeidiSQL이 뭐임! (0) | 2021.07.09 |