Acesta este un extras din Cartea electronică de testare a unității, de Marc Clifton, oferită cu amabilitate de Syncfusion.
NUnit a fost inițial portat de la JUnit ca un motor de test unitate open source care oferă o suită bogată de elemente de testare, metode și atribute variabile, precum și aserțiuni de testare. Documentația pentru toate versiunile NUnit poate fi găsită aici. NUnit este încă menținută. Cea mai recentă versiune stabilă la momentul acestei scrieri este versiunea 2.6.2, lansată pe 22 octombrie 2012.
CSUnit este un motor de testare a unității mai ușoare. Rețineți că nu pare să fie menținut, deoarece ultima versiune a fost în martie 2009. Acesta oferă un set minimal dar funcțional de atribute pe care să-l utilizați pentru a defini modulele de testare și metodele de testare.
Visual Studio oferă posibilitatea de a crea proiecte de testare direct în IDE. Una dintre problemele pe care autorul le-a descoperit este că interfața cu utilizatorul sa schimbat între VS 2008 și VS 2012:
În VS2008, testul se execută foarte rapid și afișează o listă ușor de citit a rezultatelor testelor și, pentru testele eșuate, mesajul de eroare care oferă informații despre motivul pentru care testul a eșuat.
De asemenea, atunci când proiectul de testare este proiectul activ, executarea testelor (sau depanarea acestora) este aceeași ca și cu orice altă aplicație - le puteți rula cu Ctrl + F5 (executați) sau F5 (depanare).
În VS2012, alergătorul de test durează câteva secunde pentru a inițializa. Mai rău, se obțin mesajele asociate cu rezultatul unui test dând clic pe eșec. Cerința suplimentară de clic este o problemă semnificativă de utilizare. Datorită schimbărilor în modul în care sunt afișate eșecurile, Visual Studio 2008 a fost folosit pentru capturi de ecran în această carte.
În cele din urmă, alergătorul de test nu mai este inițiat prin aceleași taste de comenzi rapide ca și o aplicație obișnuită. În schimb, dezvoltatorul trebuie să utilizeze Ctrl + R, A pentru a executa testele. Nu există o scurtătură de tastatură mapată pentru depanarea testelor unității.
Microsoft oferă instrumente de integrare pentru NUnit atât pentru Visual Studio 2010 (http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099), cât și pentru 2012 (http://visualstudiogallery.msdn.microsoft.com/6ab922d0 -21c0-4f06-ab5f-4ecd1fe7175d), deși în momentul acestei scrieri, adaptorul de testare Visual Studio 2012 NUnit este un beta 3-2.
Există și câteva alte motoare de testare care merită menționate aici.
MSTest (http://msdn.microsoft.com/en-us/library/ms182489 este versiunea de linie de comandă a alergătorului de testare Microsoft.
MbUnit și Gallio sunt strâns legate. Gallio este o platformă de automatizare a testării care vă permite să integrați o varietate de cadre de testare și instrumente de raportare. Acesta este un instrument sofisticat care merită explorat odată ce vă familiarizați cu principiile de testare a unităților și alte motoare.
Microsoft Test Manager este un instrument pentru planificarea, gestionarea și executarea testelor, manual sau automat. Managerul de testare Microsoft se integrează cu urmărirea erorilor, permite scrierea de note asociate cu testele dvs. și vă permite să configurați mașini de laborator virtuale care pot fi resetate într-o stare cunoscută înainte de a începe testarea.
FsUnit este un motor de testare care facilitează lucrul cu limba F #.
Testul unității este conceput pentru a valida corectitudinea unităților de cod computationale. Testarea integrării este concepută pentru a testa comportamentul interfeței cu utilizatorul.
Pentru cititorii familiarizați cu Ruby, NBehave este un prototip timpuriu de caracteristici asemănătoare cu Castraveți, în care se scriu teste comportamentale. Testele sunt scrise în limbaj natural, de exemplu (ambele exemple provin de pe site-ul GitHub NBehave):
Scenariu: Logare Având în vedere că nu sunt autentificat Când intrăm ca Morgan cu o parolă SecretPassw0rd Atunci ar trebui să văd un mesaj, "Bun venit, Morgan!"
și metodele pun în aplicare frazele (care pot fi re-utilizate, desigur):
[Given ("Nu s-au logat")] void public LogOut () ...
Rețineți că acest lucru nu este unitatea de testare, ci facilitează o paradigmă numită Dezvoltare condusă de comportament și este menționată aici pentru a ilustra alte forme de testare care completează testarea unităților.