NUnit

NUnit
NUnit
Nunit logo 250.png
NUnit GUI.png
Windows에서의 NUnit 2.4.6 GUI
원저작자찰리 풀, 제임스 뉴커크, 알렉세이 보론초프, 마이클 투, 필립 크레이그, 롭 프루즈, 시몬 부솔리, 닐 콜빈
개발자NUnit 프로젝트,
.NET 파운데이션
안정된 릴리스
3.13.2 / 2021년 4월 27일; 15개월 전(2021-04-27)
저장소github.com/nunit
기입처C#
운영 체제.NET 프레임워크, 모노
유형유닛 테스트 도구
면허증.3.0용 MIT 라이선스, 2.x용 BSD 스타일(zlib 라이선스 변경)
웹 사이트www.nunit.org

NUnit 오픈소스 유닛 테스트 프레임워크입니다.NET Framework 및 Mono.JUnit이 Java 세계에서 사용하는 것과 동일한 목적을 수행하며 xUnit [citation needed]패밀리의 많은 프로그램 중 하나입니다.

특징들

  • 테스트는 콘솔 러너, [1]테스트 어댑터를 통해 Visual Studio 내 또는 서드파티 러너를 통해 실행할 수 있습니다.
  • 테스트는 [2]병렬로 실행할 수 있습니다.
  • 데이터 기반 [3]테스트에 대한 강력한 지원
  • 여러 플랫폼을 지원합니다.NET Core,[4] Xamarin Mobile,[5] Compact[6] Framework 및 Silverlight.[7]
  • 모든 테스트 케이스를 하나 이상의 카테고리에 추가하여 선택적으로 [8]실행할 수 있습니다.

NUnit은 테스트 배치 실행에 사용되는 콘솔러너(nunit3-console.exe)를 제공합니다.콘솔 러너는 NUnit Test Engine을 통해 작동하며 로드, 탐색 및 테스트를 실행할 수 있습니다.별도의 프로세스로 테스트를 실행하는 경우 엔진은 [citation needed]Nunit-agent 프로그램을 사용하여 테스트를 실행합니다.

NUnitLite 러너는 단순한 러너가 더 적합한 상황에서 사용할 수 있습니다.이를 통해 개발자는 [citation needed]자가 실행 테스트를 작성할 수 있습니다.

어설션

NUnit은 다양한 어설션 세트를 스태틱한 방법으로 제공합니다.Assert클래스. 어설션이 실패하면 메서드 호출이 반환되지 않고 오류가 보고됩니다.테스트에 여러 개의 아사션이 포함되어 있는 경우 실패한 아사션 뒤에 이어지는 아사션은 실행되지 않습니다.이러한 이유로,[citation needed] 보통 테스트당 하나의 주장을 시도하는 것이 가장 좋습니다.

Nunit 3.x는 여러 어설션을 지원하고 있습니다.

[테스트] 일반의 무효 복합 번호시험() {     복합 번호 결과 = 일부 계산();      주장하다.복수(() =>     {         주장하다.동등.(5.2, 결과.리얼 파트, "진짜 파트");         주장하다.동등.(3.9, 결과.상상 부품, "상상 부분");     }); } 

고전적인

NUnit 2.4보다 이전 버전에서는Assert클래스가 각 어설션에 사용되었습니다.많은 사람들이 [citation needed]선호하기 때문에 NUnit에서 계속 지원되고 있습니다.

각 아사트 메서드는 메시지 없이 단순한 텍스트메시지 또는 메시지와 인수를 사용하여 호출할 수 있습니다.마지막 예에서는 지정된 텍스트와 [citation needed]인수를 사용하여 메시지의 형식이 지정됩니다.

// 평등 주장 주장하다.동등.(물건 기대됩니다, 물건 실제.); 주장하다.동등.(물건 기대됩니다, 물건 실제., 스트링 메세지, 파라미터 물건[] 파마);  주장하다.Are Not Equal(동일하지 않음)(물건 기대됩니다, 물건 실제.); 주장하다.Are Not Equal(동일하지 않음)(물건 기대됩니다, 물건 실제., 스트링 메세지, 파라미터 물건[] 파마);  // 아이덴티티 어설트 주장하다.AreSame(물건 기대됩니다, 물건 실제.); 주장하다.AreSame(물건 기대됩니다, 물건 실제., 스트링 메세지, 파라미터 물건[] 파마);  주장하다.Are Not Same(동일하지 않음)(물건 기대됩니다, 물건 실제.); 주장하다.Are Not Same(동일하지 않음)(물건 기대됩니다, 물건 실제., 스트링 메세지, 파라미터 물건[] 파마);  // 조건이 단언됨 // (간단히 하기 위해 메시지시그니처가 있는 메서드는 생략됩니다). 주장하다.Is True(실제)(부울 조건.); 주장하다.IsFalse(부울 조건.);  주장하다.Is Null(물건 오브젝트); 주장하다.IsNotNull(물건 오브젝트);  주장하다.IsNaN(이중으로 하다 a더블);  주장하다.Is Empty(비어 있음)(스트링 a스트링); 주장하다.Is Not Empty(비어 있지 않음)(스트링 a스트링);  주장하다.Is Empty(비어 있음)(ICollection(ICollection) 수집); 주장하다.Is Not Empty(비어 있지 않음)(ICollection(ICollection) 수집); 

제약 조건 기반

NUnit 2.4부터 새로운 제약 기반 모델이 도입되었습니다.이 접근법에서는 단일 방법으로Assert모든 어설션의 클래스, 패스Constraint수행할 테스트를 지정하는 개체입니다.이 제약 조건 기반 모델은 현재 NUnit에 의해 모든 어설션에 내부적으로 사용됩니다.이 새로운 [citation needed]모델 위에 고전적인 접근 방식이 다시 구현되었습니다.

NUnit 테스트 [citation needed]고정 장치의 예:

사용. NUnit.프레임워크;   [테스트용 도료] 일반의 학급 테스트의 예NUnit { [테스트]     일반의 무효 테스트 곱셈()     {         주장하다.동등.(4, 2*2, "곱셈");                  // 마찬가지로 버전 2.4 NUnit은 새로운 기능과         // 제약 조건 개체를 기반으로 한 보다 직관적인 어설션 구문         // [http://www.nunit.org/index.php?p=constraintModel&r=2.4.7] :         주장하다.그거(2*2, .등가(4), "복수 제약 조건 기반");     } }  // 다음 예제에서는 동일한 예외 테스트를 작성하는 다양한 방법을 보여 줍니다.  [테스트용 도료] 일반의 학급 Assert Throws 테스트 { [테스트]     일반의 무효 테스트()     {         // .NET 1.x         주장하다.던지다(유형(논쟁예외.),             신규 테스트 대리인(메서드 That Throws));               // .NET 2.0         주장하다.던지다< >논쟁예외.>(메서드 That Throws);         주장하다.던지다< >논쟁예외.>(      위임하다 { 던지다 신규 논쟁예외.(); });          // C# 3.0 사용         주장하다.던지다< >논쟁예외.>(             () => { 던지다 신규 논쟁예외.(); });     }          무효 메서드 That Throws()     {         던지다 신규 논쟁예외.();     } }  // 이 예에서는 리턴 값을 사용하여 예외를 추가로 확인하는 방법을 보여 줍니다.  [테스트용 도료] 일반의 학급 Return Value 사용 { [테스트]     일반의 무효 테스트 예외()     {         마이익스펙션 ex = 주장하다.던지다< >마이익스펙션>(             위임하다 { 던지다 신규 마이익스펙션("메시지, 42); });         주장하다.그거(ex.메세지, .등가("메시지));         주장하다.그거(ex.마이패람, .등가(42));      } }  // 이 예에서는 제약조건을 포함한 오버로드를 사용하여 동일한 작업을 수행합니다.  [테스트용 도료] 일반의 학급 Using Constraint(사용 제약) { [테스트]     일반의 무효 테스트 예외()     {         주장하다.던지다(.종류< >마이익스펙션>()                                  .그리고..메세지.등가("메시지)                                  .그리고..소유물('마이패람).등가(42),             위임하다 { 던지다 신규 마이익스펙션("메시지, 42); });     } } 

NUnit 프레임워크는 이 방법을 검출합니다.ExampleTestOfNUnit.TestMultiplication()자동으로 [citation needed]반영됩니다.

내선번호

FireBenchmarks는 장치 테스트 실행 시간을 기록하고 차트 및 이력 추적을 통해 XML, CSV, XHTML 성능 보고서를 생성할 수 있는 추가 기능입니다.주요 목적은 민첩한 방법론을 사용하는 개발자 또는 팀이 성능 메트릭과 분석을 유닛 테스트 환경에 통합하여 알고리즘의 복잡성과 시스템 리소스 [citation needed]부하 측면에서 소프트웨어 시스템의 진화를 쉽게 제어 및 감시할 수 있도록 하는 것입니다.

NUnit.Forms는 핵심 NUnit 프레임워크의 확장이며 오픈 소스이기도 합니다.특히 Windows Forms에서 사용자 인터페이스 요소의 테스트를 처리할 수 있도록 NUnit를 확장하는 것에 대해 설명합니다.2013년 1월 현재, Nunit.양식은 Alpha 릴리즈로 2006년 [citation needed]5월 이후 출시되지 않았습니다.

NUnit.ASP는 핵심 NUnit 프레임워크에 대한 확장이 중단되었으며[9] 오픈 소스이기도 합니다.구체적으로는 ASP에서 사용자 인터페이스 요소의 테스트를 처리할 수 있도록 NUnit을 확장하는 것을 검토하고 있습니다.그물[citation needed]

「 」를 참조해 주세요.

레퍼런스

  1. ^ "NUnit 3 Test Adapter".
  2. ^ "Parallelizable Attribute".
  3. ^ "TestCaseData".
  4. ^ Prouse, Rob (2015-11-04). "Testing .NET Core using NUnit 3".
  5. ^ Prouse, Rob (2015-03-25). "NUnit 3.0 Test Runner for Android and iOS".
  6. ^ "NUnit Version 3 for Compact Framework".
  7. ^ "NUnit Version 3 for SilverLight 5.0".
  8. ^ "CategoryAttribute". Retrieved 2015-12-15.
  9. ^ "NUnit.ASP website main page". SourceForge. Retrieved 2008-04-15.

참고 문헌

  • 헌트, 앤드류Thomas, David (2007).NUnit을 사용한 C#의 실용 유닛 테스트, 제2판The Pragmatic Bookbook (Raleigh), 2007.ISBN 0-9776166-7-3.
  • Newkirk, Jim, Vorontsov, Alexei(2004).Microsoft의 테스트 주도의 개발.NET. Microsoft Press (Redmond), 2004.ISBN 0-7356-1948-4.
  • 해밀턴, 빌(2004년).NUnit 포켓 레퍼런스.O'Reilly (Cambridge), 2004.ISBN 0-596-00739-6.

외부 링크