NUnit - NUnit
Tento článek má několik problémů. Prosím pomozte zlepšit to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
NUnit 2.4.6 GUI ve Windows | |
Původní autoři | Charlie Poole, James Newkirk, Alexej Vorontsov, Michael Two, Philip Craig, Rob Prouse, Simone Busoli, Neil Colvin |
---|---|
Vývojáři | Projekt NUnit, .NET Foundation |
Stabilní uvolnění | 3.12.0 / 14. května 2019 |
Úložiště | github |
Napsáno | C# |
Operační systém | .NET Framework, Mono |
Typ | Testování jednotky nástroj |
Licence | Licence MIT pro 3.0, styl BSD (upraveno licence zlib ) pro 2.x |
webová stránka | www |
NUnit je open-source testování jednotky rámec pro .NET Framework a Mono. Slouží ke stejnému účelu jako JUnit dělá v Jáva světě a je jedním z mnoha programů v EU xUnit rodina.[Citace je zapotřebí ]
Funkce
- Testy lze spouštět z běžce konzoly v rámci sady Visual Studio prostřednictvím testovacího adaptéru,[1] nebo prostřednictvím běžců třetích stran.
- Testy lze provádět paralelně.[2]
- Silná podpora pro testy založené na datech.[3]
- Podporuje více platforem včetně .NET Core,[4] Xamarin Mobile,[5] Kompaktní rámec[6] a Silverlight.[7]
- Každý testovací případ lze přidat do jedné nebo více kategorií, což umožňuje selektivní běh.[8]
NUnit poskytuje běh konzoly (nunit3-console.exe), který se používá pro dávkové provádění testů. Běžec konzoly pracuje prostřednictvím NUnit Test Engine, který mu poskytuje možnost načítat, zkoumat a provádět testy. Pokud mají být testy spuštěny v samostatném procesu, motor k jejich spuštění využívá program nunit-agent.[Citace je zapotřebí ]
Běžec NUnitLite lze použít v situacích, kdy je vhodnější jednodušší běžec. Umožňuje vývojářům vytvářet samostatně prováděné testy.[Citace je zapotřebí ]
Tvrzení
NUnit poskytuje bohatou sadu tvrzení jako statické metody Tvrdit
třída. Pokud se tvrzení nezdaří, volání metody se nevrátí a nahlásí se chyba. Pokud test obsahuje více tvrzení, nebudou provedena žádná, která následují po neúspěšném. Z tohoto důvodu je obvykle nejlepší pokusit se o jedno tvrzení na test.[Citace je zapotřebí ]
Nunit 3.x podporuje několik tvrzení.
[Test]veřejnost prázdnota ComplexNumberTest(){ Komplexní číslo výsledek = Nějaký výpočet(); Tvrdit.Násobek(() => { Tvrdit.Jsou rovny(5.2, výsledek.RealPart, "Skutečná část"); Tvrdit.Jsou rovny(3.9, výsledek.Imaginární část, "Imaginární část"); });}
Klasický
Před NUnit 2.4, samostatná metoda Tvrdit
třída byla použita pro každé jiné tvrzení. Nadále je podporována v NUnit, protože ji mnoho lidí preferuje.[Citace je zapotřebí ]
Každá metoda assert může být volána bez zprávy, s jednoduchou textovou zprávou nebo se zprávou a argumenty. V posledním případě je zpráva formátována pomocí poskytnutého textu a argumentů.[Citace je zapotřebí ]
// Rovnost tvrdíTvrdit.Jsou rovny(objekt očekávaný, objekt aktuální);Tvrdit.Jsou rovny(objekt očekávaný, objekt aktuální, tětiva zpráva, parametry objekt[] parmy);Tvrdit.AreNotEqual(objekt očekávaný, objekt aktuální);Tvrdit.AreNotEqual(objekt očekávaný, objekt aktuální, tětiva zpráva, parametry objekt[] parmy);// Tvrdí identitaTvrdit.Jsou stejné(objekt očekávaný, objekt aktuální);Tvrdit.Jsou stejné(objekt očekávaný, objekt aktuální, tětiva zpráva, parametry objekt[] parmy);Tvrdit.AreNotSame(objekt očekávaný, objekt aktuální);Tvrdit.AreNotSame(objekt očekávaný, objekt aktuální, tětiva zpráva, parametry objekt[] parmy);// Podmínka tvrdí// (Pro zjednodušení jsou metody s podpisy zpráv vynechány.)Tvrdit.Je pravda(bool stav);Tvrdit.IsFalse(bool stav);Tvrdit.IsNull(objekt objekt);Tvrdit.IsNotNull(objekt objekt);Tvrdit.IsNaN(dvojnásobek aDouble);Tvrdit.Je prázdný(tětiva řetězec);Tvrdit.IsNotEmpty(tětiva řetězec);Tvrdit.Je prázdný(ICollection sbírka);Tvrdit.IsNotEmpty(ICollection sbírka);
Na základě omezení
Počínaje novinkou NUnit 2.4 Na základě omezení byl představen model. Tento přístup používá jedinou metodu Tvrdit
třída pro všechna tvrzení, absolvování a Omezení
objekt, který určuje test, který má být proveden. Tento model založený na omezeních nyní používá NUnit interně pro všechna tvrzení. Metody klasického přístupu byly znovu implementovány nad tento nový model.[Citace je zapotřebí ]
Příklad
Příklad NUnit zkušební přípravek:[Citace je zapotřebí ]
použitím NUnit.Rám;[TestFixture]veřejnost třída ExampleTestOfNUnit{ [Test] veřejnost prázdnota TestMultiplication() { Tvrdit.Jsou rovny(4, 2*2, "Násobení"); // Ekvivalentně od verze 2.4 NUnit nabízí nový a // intuitivnější syntaxe tvrzení založená na omezujících objektech // [http://www.nunit.org/index.php?p=constraintModel&r=2.4.7]: Tvrdit.Že(2*2, Je.Rovná(4), „Omezení násobení“); }}// Následující příklad ukazuje různé způsoby psaní stejného testu výjimek.[TestFixture]veřejnost třída AssertThrowsTests{ [Test] veřejnost prázdnota Testy() { // .NET 1.x Tvrdit.Vrhá(Typ(ArgumentException), Nový TestDelegate(Metoda Tohodí)); // .NET 2.0 Tvrdit.Vrhá<ArgumentException>(Metoda Tohodí); Tvrdit.Vrhá<ArgumentException>( delegát { házet Nový ArgumentException(); }); // Použití C # 3.0 Tvrdit.Vrhá<ArgumentException>( () => { házet Nový ArgumentException(); }); } prázdnota Metoda Tohodí() { házet Nový ArgumentException(); }}// Tento příklad ukazuje použití návratové hodnoty k provedení dalšího ověření výjimky.[TestFixture]veřejnost třída UsingReturnValue{ [Test] veřejnost prázdnota TestException() { MyException např = Tvrdit.Vrhá<MyException>( delegát { házet Nový MyException("zpráva", 42); }); Tvrdit.Že(např.Zpráva, Je.Rovná("zpráva")); Tvrdit.Že(např.MyParam, Je.Rovná(42)); }}// Tento příklad dělá totéž pomocí přetížení, které obsahuje omezení.[TestFixture]veřejnost třída UsingConstraint{ [Test] veřejnost prázdnota TestException() { Tvrdit.Vrhá(Je.Typ<MyException>() .A.Zpráva.Rovná("zpráva") .A.Vlastnictví("MyParam").Rovná(42), delegát { házet Nový MyException("zpráva", 42); }); }}
Rámec NUnit tuto metodu objevuje ExampleTestOfNUnit.TestMultiplication ()
automaticky odraz.[Citace je zapotřebí ]
Rozšíření
FireBenchmarks je přidat schopen zaznamenat čas provedení jednotkových testů a generovat XML, CSV, XHTML zprávy o výkonu s grafy a sledováním historie. Jeho hlavním účelem je umožnit vývojáři nebo týmu, který pracuje s agilní metodologie začlenit se metriky výkonu a analýza do testování jednotky prostředí pro snadnou kontrolu a sledování vývoje softwarového systému, pokud jde o algoritmická složitost a načtení systémových prostředků.[Citace je zapotřebí ]
NUnit.Forms je rozšíření základního rámce NUnit a je také otevřeným zdrojovým kódem. Konkrétně se zaměřuje na rozšiřování NUnit, aby bylo možné zpracovat testování prvků uživatelského rozhraní Windows Forms. Od ledna 2013 je Nunit.Forms ve verzi Alpha a od května 2006 nebyly vydány žádné verze.[Citace je zapotřebí ]
NUnit.ASP je ukončena[9] expanze na základní rámec NUnit a je také open source. Konkrétně se zaměřuje na rozšiřování NUnit, aby bylo možné zpracovat testování prvků uživatelského rozhraní v ASP.Net.[Citace je zapotřebí ]
Viz také
- Automatizace testů
- Seznam rámců testování jednotek pro programovací jazyky .NET (zahrnuje sloupec označující, které jsou založeny na xUnit)
- XUnit.net
- JUnit
Reference
- ^ „Zkušební adaptér NUnit 3“.
- ^ „Parallelizable Attribute“.
- ^ „TestCaseData“.
- ^ Prouse, Rob (04.11.2015). „Testování .NET Core pomocí NUnit 3“.
- ^ Prouse, Rob (2015-03-25). „Testovací běžec NUnit 3.0 pro Android a iOS“.
- ^ „NUnit verze 3 pro Compact Framework“.
- ^ „NUnit verze 3 pro SilverLight 5.0“.
- ^ „CategoryAttribute“. Citováno 2015-12-15.
- ^ „Hlavní stránka webu NUnit.ASP“. Sourceforge. Citováno 2008-04-15.
Bibliografie
- Hunt, Andrew; Thomas, David (2007). Pragmatic Unit Testing v C # s NUnit, 2. vyd. Pragmatická knihovna (Raleigh), 2007. ISBN 0-9776166-7-3.
- Newkirk, Jim; Vorontsov, Alexej (2004). Testovaný vývoj v Microsoft .NET. Microsoft Press (Redmond), 2004. ISBN 0-7356-1948-4.
- Hamilton, Bill (2004). Reference kapes NUnit. O'Reilly (Cambridge), 2004. ISBN 0-596-00739-6.
externí odkazy
- Oficiální webové stránky
- Web GitHub
- Launchpad stránky (již není udržováno)
- Vývoj zaměřený na testování s NUnit & Test-driven.NET video ukázka
- Domovská stránka NUnit.Forms
- Domovská stránka NUnitAsp
- Článek Zlepšení kvality aplikací pomocí vývoje řízeného testem poskytuje úvod do TDD s konkrétními příklady pomocí Nunit
- Nástroj s otevřeným zdrojovým kódem, který může provádět testy nunit paralelně
- Charlie Poole, spolutvůrce
- Rob Prouse, spolutvůrce
- Simone Busoli, spolutvůrce