Testarea unității cu succes Unelte de testare a unității

Acesta este un extras din Cartea electronică de testare a unității, de Marc Clifton, oferită cu amabilitate de Syncfusion.

NUnit

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

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.


Proiectul Visual Studio Test

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:

Visual Studio 2008 Rezultate UI de testare

Rezultatele testului VS2008 UI

Î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).

Visual Studio 2012 Rezultate de testare UI

Rezultatele testului VS2012 UI

Î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.

Visual Studio și integrarea NUnit

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.


Alte instrumente de testare a unității

Există și câteva alte motoare de testare care merită menționate aici.

MSTest

MSTest (http://msdn.microsoft.com/en-us/library/ms182489 este versiunea de linie de comandă a alergătorului de testare Microsoft.

MbUnit / Galion

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.

Manager de testare Microsoft

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

FsUnit este un motor de testare care facilitează lucrul cu limba F #.


Cadrele de testare a integrării

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.

NBehave

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.

Cod