junit4 예제

By Dave Sanasack, on Aug, 02 2019

다음 예제에서는 사용자 지정 러너를 작성하고 @RunWith 사용하여 실행하는 방법을 보여 드리겠습니다. 새 어설션Equals 메서드는 자동 박싱을 사용 하 고 따라서 모든 assertequals (기본, 기본) 메서드는 assertEquals (개체, 개체)로 테스트 됩니다. 이 몇 가지 흥미로운 결과로 이어질 수 있습니다. 예를 들어 자동 권투는 모든 숫자를 정수 클래스로 변환하므로 정수(10)는 Long(10)과 같지 않을 수 있습니다. 산술 메서드에 대한 테스트를 작성할 때 이 점을 고려해야 합니다. 예를 들어, 다음 Calc 클래스와 그에 상응하는 Test CalcTest는 당신에게 오류를 줄 것이다. 모든 테스트를 시작하기 전에 한 번 실행됩니다. 예를 들어 데이터베이스에 연결하는 등 시간 집약적인 작업을 수행하는 데 사용됩니다. 이 부어로 표시된 메서드는 JUnit에서 작동하려면 정적으로 정의해야 합니다.

메서드가 예외를 throw합니까? 조건에 따라 예상되는 예외가 throw되는지 여부를 확인하는 몇 가지 다른 방법이 있습니다. 예를 들어 파일을 읽는 메서드가 필요하며 “file_name”이라는 메시지와 함께 찾을 수 없는 파일을 throw합니다. 발견되지 않은 예외가 여러 가지 방법으로 throw되었는지 테스트할 수 있습니다. 첫 번째는 가장 간단하고 가장 간단한 앞으로 방법이지만 예외 메시지도 테스트해야하는 경우 다른 두 가지를 사용할 수 있습니다. 일반적으로 사소한 코드를 무시하는 것이 안전합니다. 예를 들어 단순히 필드에 값을 할당하는 getter 및 setter 메서드에 대한 테스트를 작성하는 것은 일반적으로 쓸모가 없습니다. 이러한 문에 대한 테스트를 작성하는 것은 Java 가상 컴퓨터를 테스트하는 것처럼 시간이 오래 걸리고 무의미합니다. JVM 자체에는 이미 이에 대한 테스트 사례가 있습니다. 최종 사용자 응용 프로그램을 개발하는 경우 Java에서 필드 할당이 작동한다고 가정해도 안전합니다.

새 폴더 junit-예제를 만들고 현재 junit-4를 다운로드합니다. JUnit의 릴리스 페이지와 햄크레스트에서 이 폴더로 XX.jar. 폴더 junit 예제로 변경합니다. 모든 파일은이 폴더 내에서 만들어지고 모든 명령도 거기에서 실행됩니다. 테스트가 더 이상 명명 규칙을 따를 필요가 없다는 예제를 더 잘 강조하기 위해 함수의 이름을 다르게 지정했습니다. 예를 들어, @Testpublic void calcInterest() {System.out.println(“calcInterest”);실패(“@Test JUnit4 어노미의 예”);} 이제 예제는 설명 텍스트가 말하는 것을 강화합니다. 여기에서 작업 메이븐 구성의 전체 예제를 찾을 수 있습니다 https://github.com/junit-team/junit5-samples/blob/r5.0.0-M4/junit5-maven-consumer/pom.xml. 콘텐츠 지원에서 사용할 수 있습니다. 예를 들어 다음 예제에서 getTotalCharactersWithoutSpaces 메서드는 공백을 무시하는 문자 수를 계산합니다. 우리는 다른 테스트 입력 샘플로 이것을 테스트해야합니다.

매개 변수화된 테스트가 없으면 시간이 지남에 따라 테스트의 읽기 가독성이 낮고 유지 관리할 수 있는 각 테스트 데이터에 대한 어설션을 반복해야 합니다. 테스트 범주를 정의하고 주석에 따라 테스트 범주를 포함하거나 제외할 수 있습니다. 다음 예제는 JUnit 4.8 릴리스 노트를 기반으로 합니다. 예를 들어 테스트 픽스처는 메서드의 입력으로 사용되는 고정 문자열일 수 있습니다. 이 입력으로 메서드가 올바르게 검색하는지 테스트는 유효성을 검사합니다. 이 테스트 클래스를 실행하면 정의된 각 매개 변수로 테스트 메서드가 실행됩니다. 위의 예에서 테스트 방법은 세 번 실행됩니다. @Jirka 핑커스, 감사합니다 친구.

나는 JUnit이 필수 테스트 프레임 워크이며 개발자의 TODO 목록에 잘 앉아있어야합니다 동의합니다.