Java의 JUnit 테스트 케이스: 하나의 세부사항이 모두 포함된 간단한 JUnit 5.7.1 Hello World 자습서

게시 됨: 2019-10-30
자바-주닛-예제

JUnit이란 무엇입니까?

JUnit은 반복 가능한 테스트를 작성하고 실행하기 위한 간단하고 강력한 오픈 소스 프레임워크입니다. 저는 JUnit 테스트 케이스를 좋아합니다. Java 프로젝트를 개발하는 동안 코드 커버리지를 위해 JUnit을 광범위하게 사용합니다. 단위 테스트 프레임워크를 위한 xUnit 아키텍처의 인스턴스입니다.

JUnit 기능은 다음과 같습니다.

  1. 예상 결과 테스트를 위한 주장
  2. 공통 테스트 데이터 공유를 위한 테스트 픽스처
  3. 테스트 실행을 위한 테스트 러너

이 튜토리얼에서는 1번과 3번 항목을 다룰 것입니다. 프로젝트에서 아래의 maven 종속성이 필요합니다.

코드 작성을 시작해 보겠습니다.

1 단계

com.crunchify.junit 프로젝트 CrunchifyJunitTest 패키지를 지정합니다. 다음은 빠른 참조를 위한 패키지 구조입니다.

JUnit 프로젝트 Eclipse 구조 Crunchify

2 단계

CrunchifyJunitTest => 새 클래스 => CrunchifyJunitTest.java 를 마우스 오른쪽 버튼으로 클릭합니다.

3단계

Eclipse는 @Test 를 입력하면 org.junit.Test 종속성을 제안하고 자동으로 추가합니다.

Eclipse 테스트 Maven 종속성

4단계

JUnit 테스트를 테스트하려면

  • 클래스를 마우스 오른쪽 버튼으로 클릭
  • 다음 계정으로 실행을 클릭하십시오.
  • JUnit Test 클릭

당신은 이것과 같은 것을보아야합니다.

JUnit 테스트 성공

5단계

메서드 예상 값 매개변수를 30 => 300Hello World => Hello -- World 에서 변경하고 다시 테스트합니다.

JUnit 테스트 실패 - Crunchify 팁

6단계

이제 via other java 동일한 테스트 케이스를 실행할 수 있습니다. CrunchifyRunnerJUnit.java 생성

7단계

CrunchifyRunnerJUnit.javaJava Application 으로 실행합니다.

8단계

1st code (올바른 예상 매개변수)의 경우 다음과 같은 출력이 표시되어야 합니다.

9단계

2nd code (잘못된 예상 매개변수)의 경우 다음과 같이 표시되어야 합니다.

모든 준비가 완료되었습니다. 이 코드를 실행하는 데 문제가 있으면 알려주십시오.

Crunchify의 JUnit 튜토리얼

JUnit 테스트 케이스에서 사용 가능한 주석:

주석

설명

@Test public void 메소드() @Test 주석은 메소드가 테스트 메소드임을 식별합니다.
@Before public void 메소드() 각 테스트 전에 메서드를 실행합니다. 이 메서드는 테스트 환경을 준비할 수 있습니다(예: 입력 데이터 읽기, 클래스 초기화).
@After public void 메소드() 각 테스트 후에 메소드를 실행합니다. 이 방법은 테스트 환경을 정리할 수 있습니다(예: 임시 데이터 삭제, 기본값 복원).
@BeforeClass 공개 무효 메소드() 모든 테스트가 시작되기 전에 메서드를 한 번 실행합니다. 이것은 예를 들어 데이터베이스에 연결하는 것과 같이 시간 집약적인 활동을 수행하는 데 사용할 수 있습니다.
@AfterClass 공개 무효 메소드() 모든 테스트가 완료된 후 메서드를 한 번 실행합니다. 예를 들어 데이터베이스에서 연결을 끊기 위해 정리 활동을 수행하는 데 사용할 수 있습니다.
@무시하다 테스트 방법을 무시합니다. 이것은 기본 코드가 변경되었고 테스트 케이스가 아직 적용되지 않은 경우에 유용합니다. 또는 이 테스트의 실행 시간이 너무 길어 포함되지 않는 경우.
@Test(예상 = Exception.class) 메서드가 명명된 예외를 throw하지 않으면 실패합니다.
@테스트(시간 초과=100) 메서드가 100밀리초보다 오래 걸리는 경우 실패합니다.

사용 가능한 주장 테스트 방법:

성명

설명

실패(문자열) 방법이 실패하도록 두십시오. 코드의 특정 부분에 도달하지 않았는지 확인하는 데 사용할 수 있습니다. 또는 테스트 코드가 구현되기 전에 테스트에 실패한 경우.
assertTrue(참) / assertTrue(거짓) 항상 참/거짓입니다. 테스트가 아직 구현되지 않은 경우 테스트 결과를 미리 정의하는 데 사용할 수 있습니다.
assertTrue([메시지], 부울 조건) 부울 조건이 참인지 확인합니다.
assertsEquals([문자열 메시지], 예상, 실제) 두 값이 동일한지 테스트합니다. 참고: 배열의 경우 배열의 내용이 아니라 참조가 확인됩니다.
assertsEquals([문자열 메시지], 예상, 실제, 허용 오차) float 또는 double 값이 일치하는지 테스트합니다. 공차는 같아야 하는 소수 자릿수입니다.
assertNull([메시지], 개체) 개체가 null인지 확인합니다.
assertNotNull([메시지], 개체) 개체가 null이 아닌지 확인합니다.
assertSame([문자열], 예상, 실제) 두 변수가 동일한 개체를 참조하는지 확인합니다.
assertNotSame([문자열], 예상, 실제) 두 변수가 서로 다른 개체를 참조하는지 확인합니다.