x단위
xUnitxUnit는 Smalltalk의 SUnit에서 구조와 기능을 도출하는 여러 장치 테스트 프레임워크의 집합적인 이름이다.1998년 켄트 벡(Kent Beck)이 디자인한 SUnit은 자바, C# 등 현대 언어에 쉽게 빌려주는 고도로 구조화된 객체 지향적인 문체로 쓰여졌다.Smalltalk에 소개된 이후 이 프레임워크는 켄트 벡과 에리히 감마(Erich Gamma)에 의해 자바에 포팅되어 폭넓은 인기를 얻었고, 결국 현재 사용되고 있는 대부분의 프로그래밍 언어에서 우위를 차지하게 되었다.이러한 프레임워크의 많은 이름은 "SUnit"에 대한 변형이며, 일반적으로 "S"를 의도된 언어의 이름("Java의 경우 JUnit", R 등의 경우 "RUnit")의 첫 글자(또는 문자)로 대체한다.이러한 프레임워크와 이들의 공통 아키텍처는 집합적으로 "xUnit"로 알려져 있다.
x유닛 아키텍처
모든 xUnit 프레임워크는 몇 가지 다양한 구현 세부사항과 함께 다음과 같은 기본 구성요소 아키텍처를 공유한다.[1]
테스트 러너
테스트 러너는 xUnit 프레임워크를 사용하여 구현된 테스트를 실행하고 테스트 결과를 보고하는 실행 가능한 프로그램이다.[2]
테스트 케이스
시험 케이스가 가장 원소 클래스다.모든 단위 테스트는 여기에서 상속된다.
시험기구
시험 기구(시험 컨텍스트라고도 함)는 시험을 실행하는 데 필요한 전제조건 또는 상태의 집합이다.개발자는 시험 전에 알려진 양호한 상태를 설정하고 시험 후에 원래 상태로 돌아가야 한다.
테스트 스위트
테스트 제품군은 모두 동일한 고정장치를 공유하는 테스트 세트다.시험 순서는 중요하지 않다.
시험실행
개별 단위 시험의 수행은 다음과 같이 진행된다.
세우다(); /* 먼저, 테스트를 위한 격리된 환경을 만들기 위해 '세상'을 준비해야 한다 */ ... /* 시험의 본체 - 여기 모든 시험을 한다 */ ... 허물다(); /* 결국 성공하든 실패하든 간에, 우리는 우리의 '세상'을 정리해야 한다. 다른 테스트나 코드를 방해하지 않음 */
설정()과 해체() 방법은 시험 설비를 초기화하고 정리하는 역할을 한다.
테스트 결과 포맷터
테스트 주자는 하나 이상의 출력 형식으로 결과를 생성한다.사람이 읽을 수 있는 일반 형식 외에도 XML 출력을 생성하는 테스트 결과 포맷터가 있는 경우가 많다.XML 테스트 결과 형식은 JUnit에서 시작되었지만 Jenkins와 Atlassian Build와 같은 다른 xUnit 테스트 프레임워크에서도 사용된다.
주장
어설션이란 시험 대상 장치의 동작(또는 상태)을 검증하는 함수 또는 매크로다.일반적으로 어떤 주장은 시험 대상(SUT)에서 정확하게 실행되는 시스템에서 예상되는 결과에 대해 참인 논리적 조건을 나타낸다.주장 실패는 일반적으로 예외를 발생시켜 현재 시험의 실행을 중단한다.
xUnit 프레임워크
많은 xUnit 프레임워크가 다양한 프로그래밍 언어와 개발 플랫폼을 위해 존재한다.
참고 항목
일반적인 단위 테스트:
유닛 테스트에 대한 프로그래밍 접근 방식:
참조
- ^ Beck, Kent. "Simple Smalltalk Testing: With Patterns". Archived from the original on 15 March 2015. Retrieved 25 June 2015.
- ^ 메사로스, 제라드(2007) x단위 시험 패턴, 피어슨 교육, 주식회사/애디슨 웨슬리
외부 링크
- Jeffries, Ron (Nov 19, 2004). "List of various unit testing frameworks". Archived from the original on Aug 19, 2005.
- Meszaros, Gerard (2007). "xUnit Test Patterns: Refactoring Test Code". p. 833. ISBN 9780131495050.
- Fowler, Martin (Jan 17, 2006). "xUnit". Testing.