Yagona - NUnit

Yagona
Nunit logotipi 250.png
Windows-da NUnit 2.4.6 GUI
NUnit 2.4.6 GUI Windows-da
Asl muallif (lar)Charli Pul, Jeyms Nyukirk, Aleksey Vorontsov, Maykl Ikki, Filipp Kreyg, Rob Prouz, Simone Busoli, Nil Kolvin
Tuzuvchi (lar)NUnit loyihasi,
.NET Foundation
Barqaror chiqish
3.12.0 / 14 may 2019 yil; 18 oy oldin (2019-05-14)
Omborgithub.com/ nunit
YozilganC #
Operatsion tizim.NET Framework, Mono
TuriBirlik sinovi vosita
LitsenziyaMIT litsenziyasi 3.0 uchun, BSD uslubi (o'zgartirilgan) zlib litsenziyasi ) 2.x uchun
Veb-saytwww.nunit.org

Yagona bu ochiq manbali birlik sinovi ramka uchun .NET Framework va Mono. Bu xuddi shu maqsadga xizmat qiladi JUnit da qiladi Java dunyo, va bu ko'plab dasturlardan biridir xUnit oila.[iqtibos kerak ]

Xususiyatlari

  • Sinovlar Visual Studio dasturida test adapteri orqali konsol yuguruvchisidan,[1] yoki uchinchi tomon yuguruvchilari orqali.
  • Sinovlarni parallel ravishda o'tkazish mumkin.[2]
  • Ma'lumotlarga asoslangan testlarni kuchli qo'llab-quvvatlash.[3]
  • Bir nechta platformalarni qo'llab-quvvatlaydi, shu jumladan .NET Core,[4] Xamarin Mobile,[5] Yilni ramka[6] va Kumush nur.[7]
  • Har bir sinov ishi tanlab ishlashga imkon berish uchun bir yoki bir nechta toifalarga qo'shilishi mumkin.[8]

NUnit konsol yuguruvchisini (nunit3-console.exe) taqdim etadi, u testlarni ommaviy ravishda bajarish uchun ishlatiladi. Konsol yuguruvchisi NUnit sinov dvigateli orqali ishlaydi, bu unga yuklash, o'rganish va sinovlarni bajarish imkoniyatini beradi. Sinovlarni alohida jarayonda o'tkazish kerak bo'lganda, dvigatel ularni boshqarish uchun nunit-agent dasturidan foydalanadi.[iqtibos kerak ]

NUnitLite yuguruvchisi oddiyroq yuguruvchi ko'proq mos keladigan holatlarda ishlatilishi mumkin. Bu ishlab chiquvchilarga o'z-o'zidan bajariladigan testlarni yaratishga imkon beradi.[iqtibos kerak ]

Tasdiqlar

NUnit boy to'plamni taqdim etadi tasdiqlar ning statik usullari sifatida Tasdiqlash sinf. Agar tasdiqlash bajarilmasa, usul chaqiruvi qaytmaydi va xato haqida xabar beriladi. Agar test bir nechta tasdiqlarni o'z ichiga olsa, muvaffaqiyatsiz bo'lganidan keyin bajarilgan har qanday narsa bajarilmaydi. Shu sababli, har bir test uchun bitta tasdiqni sinab ko'rish yaxshidir.[iqtibos kerak ]

Nunit 3.x bir nechta tasdiqlarni qo'llab-quvvatlamoqda.

[Sinov]jamoat bekor KompleksNumberTest(){    Kompleks raqami natija = Ba'zi hisoblash();    Tasdiqlash.Bir nechta(() =>    {        Tasdiqlash.AreEqual(5.2, natija.RealPart, "Haqiqiy qism");        Tasdiqlash.AreEqual(3.9, natija.ImaginaryPart, "Xayoliy qism");    });}

Klassik

NUnit 2.4 dan oldin Tasdiqlash sinf har bir har xil tasdiq uchun ishlatilgan. Uni NUnit-da qo'llab-quvvatlashda davom etmoqda, chunki ko'pchilik buni afzal ko'radi.[iqtibos kerak ]

Har bir tasdiqlash usuli oddiy matnli xabar yoki xabar va argumentlarsiz xabarsiz chaqirilishi mumkin. Oxirgi holatda xabar taqdim etilgan matn va argumentlar yordamida formatlanadi.[iqtibos kerak ]

// TenglikTasdiqlash.AreEqual(ob'ekt kutilgan, ob'ekt haqiqiy);Tasdiqlash.AreEqual(ob'ekt kutilgan, ob'ekt haqiqiy, mag'lubiyat xabar, params ob'ekt[] parmlar);Tasdiqlash.AreNotEqual(ob'ekt kutilgan, ob'ekt haqiqiy);Tasdiqlash.AreNotEqual(ob'ekt kutilgan, ob'ekt haqiqiy, mag'lubiyat xabar, params ob'ekt[] parmlar);// Shaxsiy tasdiqTasdiqlash.AreSame(ob'ekt kutilgan, ob'ekt haqiqiy);Tasdiqlash.AreSame(ob'ekt kutilgan, ob'ekt haqiqiy, mag'lubiyat xabar, params ob'ekt[] parmlar);Tasdiqlash.AreNotSame(ob'ekt kutilgan, ob'ekt haqiqiy);Tasdiqlash.AreNotSame(ob'ekt kutilgan, ob'ekt haqiqiy, mag'lubiyat xabar, params ob'ekt[] parmlar);// Shart tasdiqlaydi// (Oddiylik uchun xabar imzosi bo'lgan usullar chiqarib tashlanadi.)Tasdiqlash.Haqiqat(bool holat);Tasdiqlash.Yolg'on(bool holat);Tasdiqlash.IsNull(ob'ekt anObject);Tasdiqlash.IsNotNull(ob'ekt anObject);Tasdiqlash.IsNaN(ikki baravar Ikki marta);Tasdiqlash.IsEmpty(mag'lubiyat aString);Tasdiqlash.IsNotEmpty(mag'lubiyat aString);Tasdiqlash.IsEmpty(IC yig'ish to'plam);Tasdiqlash.IsNotEmpty(IC yig'ish to'plam);

Cheklovga asoslangan

NUnit 2.4 dan boshlab yangi Cheklovga asoslangan modeli joriy etildi. Ushbu yondashuvda bitta usul qo'llaniladi Tasdiqlash a tasdiqlash uchun sinf Cheklov bajariladigan testni belgilaydigan ob'ekt. Ushbu cheklovga asoslangan model endi NUnit tomonidan barcha tasdiqlar uchun ichki sifatida ishlatiladi. Klassik yondashuv usullari ushbu yangi model ustida qayta amalga oshirildi.[iqtibos kerak ]

Misol

NUnit misoli sinov moslamasi:[iqtibos kerak ]

foydalanish NUnit.Framework;[Test Fixture]jamoat sinf ExampleTestOfNUnit{    [Sinov]    jamoat bekor TestMultiplication()    {        Tasdiqlash.AreEqual(4, 2*2, "Ko'paytirish");                // Teng ravishda, 2.4 versiyasidan beri NUnit yangi va        // cheklash ob'ektlariga asoslangan intuitiv tasdiqlash sintaksisi        // [http://www.nunit.org/index.php?p=constraintModel&r=2.4.7]:        Tasdiqlash.Bu(2*2, Shunday.Teng(4), "Ko'paytirishni cheklashga asoslangan");    }}// Quyidagi misolda bir xil istisno testini yozishning turli usullari ko'rsatilgan.[Test Fixture]jamoat sinf AssertThrowsTests{    [Sinov]    jamoat bekor Sinovlar()    {        // .NET 1.x        Tasdiqlash.Uloqtiradi(tipo(ArgumentException),            yangi Test delegati(MethodThatThrows));	            // .NET 2.0        Tasdiqlash.Uloqtiradi<ArgumentException>(MethodThatThrows);        Tasdiqlash.Uloqtiradi<ArgumentException>(	    delegat { otish yangi ArgumentException(); });        // C # 3.0 dan foydalanish         Tasdiqlash.Uloqtiradi<ArgumentException>(            () => { otish yangi ArgumentException(); });    }        bekor MethodThatThrows()    {        otish yangi ArgumentException();    }}// Ushbu misol, istisno holatini qo'shimcha tekshirishni amalga oshirish uchun qaytarish qiymatidan foydalanishni ko'rsatadi.[Test Fixture]jamoat sinf ReturnValue-dan foydalanish{    [Sinov]    jamoat bekor TestException()    {        MyException sobiq = Tasdiqlash.Uloqtiradi<MyException>(            delegat { otish yangi MyException("xabar", 42); });        Tasdiqlash.Bu(sobiq.Xabar, Shunday.Teng("xabar"));        Tasdiqlash.Bu(sobiq.MyParam, Shunday.Teng(42));     }}// Ushbu misol cheklovni o'z ichiga olgan ortiqcha yuk yordamida xuddi shu narsani qiladi.[Test Fixture]jamoat sinf Cheklovni ishlatish{    [Sinov]    jamoat bekor TestException()    {        Tasdiqlash.Uloqtiradi(Shunday.Turi<MyException>()                                 .Va.Xabar.Teng("xabar")                                 .Va.Mulk("MyParam").Teng(42),            delegat { otish yangi MyException("xabar", 42); });    }}

NUnit ramkasi bu usulni topadi ExampleTestOfNUnit.TestMultiplication () avtomatik ravishda aks ettirish.[iqtibos kerak ]

Kengaytmalar

FireBenchmarks bu addin birlik sinovlarining bajarilish vaqtini yozib olish va ishlab chiqarishga qodir XML, CSV, XHTML jadvallar va tarixni kuzatish bilan hisobotlar. Uning asosiy maqsadi - ishlab chiquvchiga yoki tezkor metodologiya birlashtirmoq ishlash ko'rsatkichlari va ichiga tahlil birlik sinovi atrof-muhit, dasturiy ta'minot tizimining evolyutsiyasini osonlik bilan boshqarish va nazorat qilish algoritmik murakkablik va tizim resurslari yuklanadi.[iqtibos kerak ]

NUnit.Forms bu NUnit yadrosi uchun kengayish va shuningdek ochiq manba hisoblanadi. Bu foydalanuvchi interfeysi elementlarini sinab ko'rish uchun NUnit-ni kengaytirishga qaratilgan Windows shakllari. 2013 yil yanvar oyidan boshlab Nunit.Forms Alpha versiyasida va 2006 yil may oyidan beri hech qanday versiyasi chiqarilmagan.[iqtibos kerak ]

NUnit.ASP to'xtatilgan[9] yadro NUnit doirasiga kengayish va shuningdek ochiq manba hisoblanadi. ASP.Net-da foydalanuvchi interfeysi elementlarini sinab ko'rish uchun NUnit-ni kengaytirishni ko'rib chiqadi.[iqtibos kerak ]

Shuningdek qarang

Adabiyotlar

  1. ^ "NUnit 3 sinov adapteri".
  2. ^ "Parallel qilinadigan atribut".
  3. ^ "TestCaseData".
  4. ^ Prouse, Rob (2015-11-04). ".NET Core-ni NUnit 3 yordamida sinab ko'rish"..
  5. ^ Prouse, Rob (2015-03-25). "Android va iOS uchun NUnit 3.0 Test Runner".
  6. ^ "Compact Framework uchun NUnit Version 3".
  7. ^ "SilverLight 5.0 uchun NUnit Version 3".
  8. ^ "CategoryAttribute". Olingan 2015-12-15.
  9. ^ "NUnit.ASP veb-saytining asosiy sahifasi". Sourceforge. Olingan 2008-04-15.

Bibliografiya

  • Ov, Endryu; Tomas, Devid (2007). Pragmatik birlik sinovi C # da, NUnit bilan, 2-chi Ed. Pragmatik kitoblar javoni (Raleigh), 2007 y. ISBN  0-9776166-7-3.
  • Nyukirk, Jim; Vorontsov, Aleksey (2004). Microsoft .NET-da sinov asosida ishlab chiqilgan. Microsoft Press (Redmond), 2004 yil. ISBN  0-7356-1948-4.
  • Xemilton, Bill (2004). NUnit Pocket ma'lumotnomasi. O'Rayli (Kembrij), 2004 yil. ISBN  0-596-00739-6.

Tashqi havolalar