글로벌 단위 테스트 자바 프로그램에서 JUnit 기반 프로그램

출처: 인터넷
작성자: 사용자
키워드: 자바 테스트 프로그램 JUnit 전역 장치

그리고 각 프로그램 모듈 프로그래머는 또한 단위 테스트 때마다 수동으로, 작업 거 대 한, 그리고 이것은 작업의 지루한 중복 실행 되는 경우이 시간에 단위 테스트의 많은 포함 되어 있습니다. 이 문서는 jhttp://www.aliyun.com/zixun/aggregation/29926.html를 소개 합니다 "> 단위" 프로그래머가 하나의 파일을 실행 하는 글로벌 단위 테스트 프로그램 그것은 자동으로 전체 프로젝트, 따라서 프로그래머의 귀중 한 시간을 절약 하 고 소프트웨어 제품 개발 진행 상황을 개선에 모든 단위 테스트 파일을 실행할 수 있습니다.

최근 새로운 제품 개발 작업에 참여 했다. 새로운 제품 기능 모듈의 수와 모듈 개발 방법, 각 모듈은 독립 실행형 Java 프로젝트. 제품, 각 모듈의 기능을 보장 하기 위하여 현재는 해당 JUnit 테스트 프로그램. 점차적으로 향상 된 제품 기능, 우리 프로그램만 JUnit 테스트 테스트 파일 발견, 모두의 수백을 추가. 이러한 파일은 서로 다른 프로젝트의 수십의 다른 하위 디렉터리 구조에 배포 됩니다, 이후 한 번에 모든 단위 테스트를 실행 하려면 아무 좋은 도구가입니다. 이러한 단위 테스트를 실행 하는 수동 지루한, 프로그래머, 시간이 걸리는 또는 모든 파일을 테스트로 우리는 민첩 한 개발 모델, JUnit 테스트 테스트 세트 성장 하 고, 각 추가 JUnit 테스트 파일 실행을 스크립팅 될 수 있습니다. 즉시 스크립트를 수정 하려면, 만약 당신이 그것을 수정 하는 것을 잊지, 새 테스트 파일이 표시 되지 않을 수 있습니다와 스크립트와 테스트 파일을 실행 하는 좋은 방법 이며 그것은 여전히 우리에 게 추가 작업 우리의 개발을 위해. 여기 11545.html "> 우리 전역 할 생각을가지고 단위 테스트 프로그램을 자동으로 모든 프로젝트 집합에 JUnit 테스트 테스트 프로그램을 검색. 이 글로벌 단위 테스트 프로그램 JUNIT4에 따라 실행 됩니다.

핵심 메커니즘: JUNIT4 지원 한 번에 여러 테스트 프로그램 실행

먼저 우리가 이해 JUNIT4 입력으로 여러 클래스 컬렉션을 지원 하 고 입력된 테스트 클래스 컬렉션을 실행 하는 Org.junit.runner.Runner.run () 메서드를 호출 해야 합니다. JUNIT4 이미 다른 처리할 수 있는 러너 세트 입력된 클래스의 몇 가지 기본 정의: 예를 들어 @Test와 JUNIT4 테스트 클래스에 대 한 기본 처리기 인 Blockjunit4classrunner와 호환 JUNIT3을 처리할 수 있는 한 벌 클래스를 테스트 하 고.

우리는 다음 주자 차트에서 볼 수 있습니다.

그림 1입니다. JUNIT 러너 구조 다이어그램

러너 클래스는 테스트 사례를 실행 하는 인터페이스를 정의 합니다, 그리고 스위트 클래스 러너 클래스에서 상속 하 고 스위트 클래스는 여러 테스트 사례를 실행 하는 데 사용할 수 있는 JUNIT3 스타일 테스트 클래스를 지원 합니다. 그래서 우리의 아이디어는 위의 그림에서 Allclassrunner 클래스 스위트 클래스에서 상속 되는 주자를 사용자 지정 하는. 모두는 JUnit 프로젝트의 서로 다른 디렉터리에 파일을 테스트 한 번에 실행할 수 있도록이 러너 입력 클래스는 공학에서 설정, 모든 JUnit 테스트의 컬렉션 될 것입니다. 여기에 우리의 Allclassrunner 클래스에 대 한 코드가입니다.

1을 목록입니다. Allclassrunner 클래스에 대 한 코드

공용 클래스 Alljunittestrunner 확장 스위트 {공공 Alljunittestrunner (클래스 <>? clazz, Runnerbuilder Builde R) throw Initializationerror {//Invoke 부모 클래스 슈퍼 (빌더, Clazz, Loadalltestclass (FILTERCLA에 직접 모든 준수 JUnit 테스트 개체를 실행 하는 스위트 메서드 Ssnamelist (Clazz, Loadallclassesname (Clazz))); } }

Loadallclassesname 메서드를 사용 하면 엔지니어링 집합에 있는 모든 클래스 파일의 컬렉션을 찾을 것입니다 그리고 Filterclassnamelist 파일 이름에 대 한 클래스 파일의 발견된 컬렉션을 필터링 합니다. Loadalltestclass는 모든 적격 Junittest 클래스 컬렉션을 찾을 것입니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.