2010-05-29 29 views
8

Mam prosty projekt na C# .NET i napisałem go w Visual Studio 2010. Jestem początkującym w C# i Visual Studio.Test pokrycia kodu w Visual Studio 2010? W jaki sposób?

Napisałem kilka testów jednostkowych i one przebiegają pomyślnie, ale jak mogę sprawdzić zasięg kodu?

Z góry dziękuję.

+0

Jakie ramy testowania wykorzystujesz? –

+0

Stworzyłem test jednostkowy za pomocą menu "Utwórz test jednostki" w VS2010. Czy powinienem używać NUnit? – George

+0

Używam NUnit osobiście, ale to tylko mój wybór. Uważam, że doświadczenie użytkownika MSTest jest nieco mylące. Dam ci odpowiedź, która działa zarówno z NUnit, jak i MSTest. :) –

Odpowiedz

5

Używam NUnit jako mojej platformy testowej i używam TestDriven.Net do uruchamiania zasięgu kodu VS2010. Działa to również z testami MSTest, np. Visual Studio. Najpierw trzeba zdobyć TestDriven.NET:

http://www.testdriven.net/download.aspx

Po zainstalowaniu TestDriven.Net, dostaniesz kilka dodatkowych przedmiotów dodany do roztworu menu kontekstowego Eksploratora np kliknij projekt prawym przyciskiem myszy, a niektóre opcje TestDriven będą dostępne w opcji "Testuj za pomocą". Jedną z opcji jest "Pokrycie", które uruchomi twoje testy jednostkowe z pokryciem kodu, a następnie wyświetli okno wyników pokrycia kodu. Działa bardzo dobrze.

Aktualizacja

Oczywiście można dostać tylko pokrycia kodu w Visual Studio 2010, jeśli masz wersję, która faktycznie ją obsługuje tj Premium lub Ultimate.

+0

Należy zauważyć, że narzędzia VS/MSTest * zasięgu * nie są dołączone do wszystkich SKU VS (a przynajmniej nie były wcześniej). TestDriven, NET nie może ich użyć, jeśli nie znajdują się w zainstalowanej wersji. –

+2

Ach tak, dobra uwaga.Nie myślałem o tym. Używam Ultimate, więc dostaję wszystkie dzwonki i gwizdy. :) –

+0

Podobnie; p Ale warto wspomnieć ... –

1

Zakładając, że produkt, który wspiera kodu analiza zasięgu (Visual Studio Premium lub Ultimate, zobaczyć więcej szczegółów na ich cechy here) można wykonać czynności opisane tutaj:

http://msdn.microsoft.com/en-us/library/ms182534(v=vs.100).aspx

+0

tnx, czy istnieje sposób na zintegrowanie raportów z teamcity? Wiem, że istnieje alternatywa typu opencover, ale skoro VS ultimate ma wbudowane narzędzie, czy możemy sprawić, by działał on z teamcity? –

4
  1. W Drzewo rozwiązań, w folderze Elementy rozwiązania, Utwórz nowy plik testowy Ustawienia. (TestSettings1.testsettings)

  2. w teście ustawienie ekranu dialogowym wybierz dane i diagnostyka na lewo. Następnie sprawdź włączona Code Coverage

  3. na tym samym ekranie, kliknij dwukrotnie Code Coverage, a następnie sprawdzić .dlls chcesz przetestować. Kliknij Zastosuj.

  4. W menu Visual Studio wybierz opcję Test, uruchom, wszystkie testy w roztworze.

  5. Po próbnym uruchomieniu w menu Visual Studio, wybierz test, Windows ... Code Coverage Wyniki.