Auzisem de NCover – dar nu avusesem posibilitatea sa il pun la lucru.
De ce vroiam sa il folosesc ? Simplu: aveam teste automate (NUNIT) pentru proiect –unele cu Baza de date, altele fara. Ceea ce vroiam sa aflu este cit de mult acopar din codul sursa – adica cit de mult testele sunt complete.
OK – citind putin a inceput sa devina evident cum sa il folosesc – desi are o curba initiala de invatat de vreo 5 minute(nu e evident)
Primul lucru, daca vreti sa il folositi cu NUnit, este sa incercati sa rulati proiectul NUnit din consola, ceva de genul
nunit-console “<fisier.nunit>"
( daca vreti, puteti continua linia cu /include=categorii_de_teste )
Daca a rulat OK ( adica fara erori… ) acum putem configura NCover . Porniti NCover Explorer, apasati CTRL+N si o sa vi se deschida o fereastra de comanda in care veti introduce calea catre nunit-console iar la application arguments calea catre fisierul NUnit.
Rulati si o sa aveti rapid o evidenta in ce proportie codul din clase s-a executat. In plus va puteti uita direct intr-o metoda sa vedeti care cod s-a executat si care nu ( theme Underline mi se pare cea mai buna)
Generarea rapoartelor e buna – doar ca nu lanseaza fisierul htm generat si trebuie sa il gasiti singuri ( de aceea are “Explore coverage folder”)
Un tool exceptional, ce il puteti rula si din command line . Recomandat cu tarie!
Nu am incredere prea mare in chestiuni gen "code coverage" – decat daca testele NUNIT sunt scrise de un tert (si care sa acopere in totalitate proiectul). Daca NUNIT-urile sunt scrise tot de tine (ma refer in cazul unei companie care isi desfasoara activitatea in domeniul software-ului), foarte probabil ca NUNIT-urile sa fie scrise ca "sa dea bine" la client (eu am intalnit un caz concret). Unde am lucrat inainte, foloseam TFS-ul pentru asa ceva. Mai exact, un scheduled task (in fiecare seara de luni pana joi) facea build si teste. Aici http://blog.iftvio.blogsite.org/Lists/Photos/TFSBuildCodeCoverage.jpg ai un exemplu de output.
Ai gasit si ceva free pentru asa ceva?
Din pacate, nu … Dar caut intensiv …