Czego mogę użyć do zapewnienia dobrej jakości pokrycia kodu dla C # / .NET? [Zamknięte]


415

Zastanawiam się, jakie opcje są dostępne dla pokrycia kodu .NET (lub w szczególności C #), szczególnie w segmencie o niższej cenie?

Nie szukam rekomendacji, ale porównanie produktów na podstawie faktów. Znam następujące:


Pytanie jest już powielone w softwarerecs.stackexchange.com/questions/123/… . Czy można go migrować i scalać?
Michael Freidgeim

Nie widziałem tutaj AxoCover, jest darmowy i działa całkiem dobrze IMO: https://marketplace.visualstudio.com/items?itemName=axodox1.AxoCover
Brad Albright

Odpowiedzi:


72

Korzystam z wersji NCover, która jest dostarczana z TestDriven.NET . Pozwoli ci to łatwo kliknąć prawym przyciskiem myszy bibliotekę klas testów jednostkowych i nacisnąć Testuj z → Pokrycie , i wyświetli raport.


5
Uwielbiam TestDriven.NET; tak się składa, że ​​używam VSTS, ale zwykle używam NUnit (nie MSTes) i używam TestDriven.NET do „Testowania z -> Pokrycia zespołu”, który używa narzędzia pokrycia MSTest (w tym kolorowania) z moimi testami NUnit. Fantastyczny.
Marc Gravell

Tego też użyłem - dopóki nie przeniosłem moich aplikacji na 64
bitowe

Nie działa jeszcze z .NET core.
Mariusz Jamro,

46

Alternatywą dla NCover może być PartCover , to narzędzie do obsługi kodu w otwartym kodzie źródłowym dla .NET bardzo podobne do NCover, zawiera aplikację konsolową, przeglądarkę pokrycia GUI oraz transformacje XSL do użycia w CruiseControl.NET .

To bardzo interesujący produkt.

OpenCover zastąpił PartCover.


12
PartCover został zasadniczo zastąpiony przez OpenCover ( github.com/sawilde/opencover ), ponieważ PartCover zastygł w obsłudze tylko dla .NET 2.
David Keaveny


15

Właśnie przetestowałem NCrunch i muszę powiedzieć, że jestem pod wielkim wrażeniem. Jest to narzędzie do ciągłego testowania, które doda pokrycie kodu do kodu w Visual Studio prawie w czasie rzeczywistym. W chwili gdy piszę ten NCrunch jest bezpłatny. Nie jest jednak jasne, czy w przyszłości będzie darmowy, będzie kosztował, czy będzie miał otwarte źródło .


4
Nie jest dostępne od 3/20/2014

4

TestCocoon jest również całkiem niezły. Aktywnie się rozwija i ma społeczność użytkowników:

  • Open source (GPL 3)
  • Obsługuje wiele platform C / C ++ / C # (Linux, Windows i Mac)
  • CoverageScanner - Oprzyrządowanie podczas generowania
  • CoverageBrowser - Wyświetlanie, analiza i zarządzanie wynikiem pokrycia kodu

Jednak TestCocoon nie jest już rozwijany, a jego twórcy produkują teraz komercyjne oprogramowanie dla C / C ++.


1
Nazwa TestCocoon została zmieniona na Squish Coco, kiedy główny programista (i TestCocoon) dołączył do froglogic . obecne wydanie Squish Coco obsługuje również C #.
Frerich Raabe


2

Nie jestem pewien, jaka jest różnica w przypadku detalicznego NCover, ale jest także projekt NCover na SourceForge, który jest oczywiście otwarty i darmowy.


2
Wersja na Sourceforge jest podstawą aktualnych wersji NCover. Nie jest już aktywnie obsługiwany / wspierany, ale nadal szeroko dostępny. Są teraz w wersji 3.0.
Valien

1

Zobacz narzędzie C # Test Coverage z mojej firmy, Semantic Designs:

Ma bardzo niski narzut, obsługuje ogromne systemy plików, intuicyjny interfejs GUI, przeglądanie pokrycia określonych plików i generowany raport z podziałem pokrycia na poziomie metody, klasy i pakietu.


biorąc pod uwagę, że jest to produkt komercyjny, naprawdę powinieneś wskazać koszt: D
John Nicholas

Cena jest widoczna w podsumowaniu wyników w pytaniu, które rozpoczęło ten wątek.
Ira Baxter,



0

Funkcje pokrycia kodu, a także programowalne interfejsy API są dostarczane wraz z Visual Studio 2010. Niestety, jedynymi dwiema wersjami, które zawierają pełne możliwości pokrycia kodu, są Premium i Ultimate. Sądzę jednak, że interfejsy API będą dostępne w dowolnej edycji, więc prawdopodobnie możliwe byłoby utworzenie plików pokrycia kodu i napisanie przeglądarki informacji o zasięgu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.