Vă mulțumim pentru susținere

.NET pachete de testare a unităților?

Revenind într-un pic mai mult. NET după câțiva ani de neutilizare full-time, și întrebam ce pachete bune de testare unitate sunt în aceste zile.

Sunt familiarizat cu NUnit (cu câțiva ani în urmă), și am jucat pe scurt cu IronRuby, cu scopul de a obține ceva de genul rspec merge, dar nu știu prea mult dincolo de asta.

Îmi dau seama că pot Google pentru asta și o pot numi o zi, dar cred că este posibil să primesc un răspuns mai bun și mai bine informat de a pune o întrebare aici :-)

Sugestii?

0
adăugat editat
wow, o întrebare incredibil de utilă, cu multe răzbunări care nu au fost "închise ca nere constructive" ... poliția de distracție SO trebuie să fi adormit în schimbarea lor
adăugat autor Jonah

11 răspunsuri

xUnit.net pare să ofere o abordare puțin diferită față de N / MB / MS / Unit, ceea ce este interesant.

În căutarea unei soluții asemănătoare cu rspec (pentru că Îmi place Îl iubesc pe rspec), am întâlnit, de asemenea, NSpec , care arată puțin textual, dar combinată cu addon-ul NSpec Extensions pentru a utiliza C # 3 metode de extensie, arata destul de frumos.

0
adăugat
Poate doriți să vă uitați la acest NSpec ( nspec.org ). Este aproape identic cu RSpec.
adăugat autor Amir

Îmi place MbUnit , er, Gallio . Cel mai important pentru mine este să am un suport bun în cadrul Visual Studio. Pentru aceasta, folosesc Resharper , care are un alertă MbUnit . O mulțime de oameni par să-i placă, de asemenea, testul de testare TestDriven.NET .

0
adăugat

Sunt atât de mulți nebuni. Băieți buni, cred.

  • Pentru tipurile conservatoare (mine), NUnit este încă disponibil și încă mai mult decât capabil.
  • Pentru tipurile Microsoft, MSTest este adecvată, dar lentă și oblică în comparație cu Nunit. De asemenea, îi lipsește acoperirea codului fără a plăti bugetele mari pentru versiunile scumpe ale Visual Studio.
  • Există, de asemenea, MbUnit . Este ca NUnit, dar are caracteristici ca RowTest (rulați același test cu parametri diferiți) și Rollback (puneți baza de date înapoi așa cum ați găsit-o după un test)
  • În cele din urmă, xUnit.net este opțiunea la modă cu o atitudine .
  • Oh, și TestDriven.NET vă va oferi integrare IDE atât pentru Nunit, cât și pentru MBunit .

Sunt sigur că sunt bine. M-aș îndepărta însă de MSTest, cu excepția cazului în care vă bucurați de confortul de a avea totul într-un IDE din cutie.

Scott Hanselman has a podcast on this very topic.

0
adăugat
Aye, NUnit 2.5 are caracteristici RowTest prin intermediul atributului [TestCase].
adăugat autor Richard Szalay
+1, nota NUnit 2.5 are caracteristicile frumoase RowTest, plus testarea combinatorică a argumentelor etc.
adăugat autor user7116
Diferența dintre MSTest și NUnit nu este atât de mare dacă mă întrebi. În majoritatea cazurilor se reduce la sintaxa preferată și dacă utilizați TesteDriven.Net, care suportă și MSTest, performanța este aproape aceeași.
adăugat autor Kjetil Klaussen

Am folosit pentru a utiliza NUnit, dar am trecut la MbUnit, deoarece are mai multe caracteristici. Îmi place RowTest. Vă permite să parametrizați testele. NUnit are un suport bit de gunoi mai bun, deși. Folosesc ReSharper pentru a rula testele MbUnit. Am avut probleme cu metoda TestDriven.NET care rulează metodele SetUp pentru MbUnit.

0
adăugat

Îmi place TestDriven.NET (chiar dacă folosesc ReSharper) și sunt destul de mulțumit de < o href = "http://www.codeplex.com/xunit" rel = "nofollow noreferrer"> XUnit.net . Folosește Fapte în loc de Teste pe care mulți nu le place, dar îmi place diferența de terminologie. Este util să vă gândiți la o colecție de fapte automate probabile despre software-ul dvs. și să vedeți ce încălcați atunci când faceți o schimbare.

Rețineți că Visual Studio 2008 Professional (și de mai sus) vine acum cu unitatea de testare integrată (care a fost disponibilă numai cu Team System Editions) și poate fi potrivită pentru nevoile dvs.

0
adăugat

Stick la NUnit. Nu mergeți nicăieri lângă MSTest.

NUnit + ReSharper este o bucurie absolută de a lucra cu.

0
adăugat
Am întâlnit, de asemenea, diverse bug-uri cu testul MS "runner". Practic, VS îl lasă să ruleze în fundal și, în anumite circumstanțe, testele pe care le-ați rulat acum 10 minute pot interfera cu cea pe care urmează să o derulați acum :-(
adăugat autor Orion Edwards
Bună Kjetil. Este în principal din trei motive. 1. Metadatele pe care testele MS le creează. De ce? Reflectă ca NUnit. 2. Rulajul testului este oribil. 3. NUnit face totul mai bine - de ce se schimba. Am făcut o perioadă de timp, dar apoi m-am schimbat.
adăugat autor Iain Holder
De ce ar trebui să vă îndepărtați de MSTest? Aș aprecia dacă ați fi deranjat să vă împărtășiți DE CE doriți să vă îndepărtați de ea. Și R # funcționează și cu MSTest (cu pluginul Gallio).
adăugat autor Kjetil Klaussen

Aceasta este într-adevăr o opinie personală din partea mea (cred că este redundantă, deoarece este un forum). NUnit, MSTest, ect toate fac destul de mutt același lucru. Cu toate acestea, consider că NMock este indispensabil.

NMock sau orice pachet de batjocură nu este unitate de testare, dar face atât de mult mai ușor de a face unitatea de testare pe care ar trebui să fie.

0
adăugat

Utilizăm NUnit și MBUnit aici. Utilizăm TestDriven.NET pentru a rula testele de unitate din Visual Studio. Folosim RhinoMocks ca un frame mock.

0
adăugat

I have made a small example of testing a .net lib using ironRuby: http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

0
adăugat
Mulțumesc pentru că. De fapt, eu am jucat cu mult în această privință. Din păcate, IronRuby nu este capabil să ruleze complet rspec încă, doar mspec, care este mult mai tăiat. Chiar și așa, este mai frumos decât nunit / etc :-)
adăugat autor Orion Edwards

Am folosit pentru a utiliza NUnit, dar acum tind să utilizeze MbUnit, pentru două caracteristici cheie: 1. Caracteristica RowTest vă permite să executați cu ușurință același test pe diferite seturi de parametri, ceea ce este important dacă doriți cu adevărat o acoperire completă. 2. Caracteristica Rollback vă permite să executați teste împotriva bazei dvs. de date în timp ce derulați modificările după fiecare testare, menținând baza de date exact în aceeași stare de fiecare dată. Și este la fel de ușor ca adăugarea atributului [Rollback].

Un alt aspect frumos al lui MbUnit este că sintaxa sa este aproape identică cu cea a NUnit, deci dacă aveți un pat întreg de testare deja în locul lui NUnit, puteți să dezactivați referințele fără a fi nevoie să modificați codul (foarte mult?).

0
adăugat

Aceasta este o întrebare veche, dar s-ar putea să fie interesant faptul că Gallio v3.1 suportă acum RSpec prin IronRuby.

0
adăugat