.NET-toetsraamwerkadvies
-
08-06-2019 - |
Vra
Ek is op soek na 'n eenheidstoetsraamwerk in die mengsel by my werk.Ons gebruik Visual Studio 2005 (alhoewel ons dalk binne die volgende 6 maande na 2008 beweeg) en werk hoofsaaklik in C#.As die raamwerk 'n soort IDE-integrasie het, sal dit die beste wees, maar ek is oop vir raamwerke wat nie integrasie het nie, maar steeds relatief eenvoudig is om op te stel.Ek gaan op een of ander manier weerstand daarteen kry, so as ek kan seker maak wat ek druk nie 'n pyn in die nek is nie, sal dit my saak help.
Die ooglopende keuse uit die navorsing wat ek tot dusver gedoen het, dui op nUnit, maar ek wil graag die indrukke kry van iemand wat dit werklik gebruik het voordat ek dit by my span aanbeveel.
Het iemand daar buite nUnit gebruik?Indien wel, is daar enige slaggate of beperkings waarvan ek bewus moet wees?Is daar ander goeie opsies daar buite?Indien wel, as jy albei nUnit daarby gebruik het, sal ek 'n idee van die sterk- en swakpunte daarvan baie waardeer.
Oplossing
ek dink NUnit
is jou beste weddenskap.Met TestDriven.NET
, kry jy goeie integrasie binne VS.NET
.(Resharper het ook 'n eenheidstoetsloper as jy dit gebruik). NUnit
dit is eenvoudig om te gebruik en volg 'n gevestigde paradigma.Jy sal ook baie projekte/tutoriale/gidse vind wat dit gebruik, wat altyd help.
Jou ander hoofkeuse is waarskynlik MBUnit, wat homself meer en meer posisioneer as die BDD
raamwerk van keuse (in samewerking met Gallio http://www.gallio.org).
Ander wenke
Scott Hanselman het 'n goeie Podcast hieroor gehad, getiteld:
"Die verlede, hede en toekoms van .NET Unit Testing Frameworks"
:
Die ingeboude eenheid toets in VS 2008
is in orde, maar dit is moeilik om mee te integreer CruiseControl.net
, beslis baie moeiliker as normaalweg NUnit
.
So gaan saam NUnit
as jy van plan is om lekker outomatiese toetse te hê.
Visual Studio 2008
het 'n ingeboude toetsprojektipe wat op 'n soortgelyke manier as NUnit werk, maar het natuurlik baie strenger integrasie met Visual Studio
(kan op elke bouwerk loop en wys die resultate op 'n soortgelyke manier as die omskakelingsresultatebladsy wanneer oplossinglêers opgegradeer word), maar dit is natuurlik nie so volwasse soos NUnit nie aangesien dit redelik nuut is en ek is nie seker oor hoe dit bespotting hanteer nie.
Maar dit sal die moeite werd wees om na te kyk wanneer jou span na beweeg VS2008
Ons het al gebruik xUnit.net.Dit lyk asof dit al die beste van kombineer nUnit
, mbUnit
en MSTest
.
Toe ek begin met eenheid toets het ek begin met NUnit
aangesien dit maklik is om op te stel en te gebruik, gebruik ek tans die ingeboude toetsloper wat saam met dit kom Resharper
, op dié manier kan ek maklik tussen kode en toetsresultate blaai.Terloops NUnit
bespeur wanneer jy jou kode saamgestel het, sodat jy nie hoef te verfris in NUnit
. Resharper
doen outomaties 'n bou wanneer jy kies om 'n spesifieke toets uit te voer.
VSTT 2010
behoort 'n goeie weddenskap te wees as jy op soek is na funksionele toetsoutomatisering.Webdienste-toetsing, UI
toetsing, Biztalk-toetsing en datagedrewe toetsondersteuning.Kyk gerus na VSTT
mbUnit
is die moeite werd om te kyk, dit het 'n stel kenmerke wat vergelykbaar is met NUnit
, dit het sy eie GUI, of kan geïntegreer word in VS
as jy het Resharper
.Ek sal ook aanbeveel Rhino Mocks
as jy enige soort van doen TDD
.
Ek sou ook sê mbUnit, ek hou daarvan om 'n enkele toets baie keer uit te voer net deur insette en resultaat reg bokant die toetsfunksie te spesifiseer.Aaklige beskrywing van wat ek so bedoel hier is 'n skakel wat jou wys wat ek bedoel.