아 이게 뭐임!

Junit이 뭐임!

마로가마따 2021. 7. 11. 08:58

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)

xFalse인지 확인합니다.

assertTrue(x)

x True인지 확인합니다.

assertNull(x)

객체 x null인지 확인합니다.

seertNotNull(x)

객체 x null이 아닌지 확인합니다.

assertSame(x, y)

객체 xy가 같은 객체의 레퍼런스임을 확인합니다.

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