Przeprowadzanie testów jednostkowych za pomocą narzędzia Eksplorator testów
Eksplorator testów umożliwia uruchamianie testów jednostki z poziomu programu Visual Studio lub projektów innej jednostki badań, grupowanie testów według kategorii, filtrowanie listy testów, a także tworzenie, zapisywanie i uruchamianie list odtwarzania testów.Można również debugować testy i analizować wydajność i pokrycie kodu.
Zawartość
Unit test frameworks and test projects
Uruchom testy w eksploratorze testów
View test results
Grupowanie i filtrowanie list testów
Utwórz niestandardowe listy odtwarzania
Debuguj i analizuj testy jednostkowe
Zasoby zewnętrzne
Framework testów jednostkowych i projekty testów
Visual Studio zawiera schematy testów jednostek firmy Microsoft odnoszące się do kodu zarówno zarządzanego, jak i macierzystego.Jednak program Test Explorer może także uruchomić dowolne środowisko testów jednostkowych, które ma zaimplementowany adapter programu Test Explorer.Aby uzyskać więcej informacji na temat instalowania środowisk testów jednostkowych innych firm, zobacz Porady: instalacja frameworków testów jednostkowych innych firm
Eksplorator testów może uruchamiać testy z wielu projektów testów w rozwiązaniu i z klas testowych, które są częścią projektów kodu produkcyjnego.Projekty testów mogą używać innych struktur testów jednostek.Gdy kod badany jest przeznaczony dla programu .NET Framework, projekt testowy można zapisać w dowolnym języku, którego elementem docelowym również jest .NET Framework, bez względu na język docelowy kodu.Macierzysty projekty kod C/C++ muszą być testowane przy użyciu struktury testowej jednostki C++.
Zawartość
Uruchom testy w eksploratorze testów
Uruchamianie testów**|**Uruchamianie testów po każdej kompilacji
Podczas tworzenia projektu badania, testy są wyświetlane w Eksploratorze testów.Jeśli program Eksplorator testów nie jest widoczny, wybierz z menu programu Visual Studio polecenie Test, następnie wybierz polecenie Okna, a następnie wybierz opcję Eksplorator testów.
Podczas przeprowadzania, zapisywania i ponownego przeprowadzania testów Test Explorer wyświetla wyniki w grupach domyślnych Testy zakończone niepomyślnie, Testy zakończone pomyślnie, Testy pominięte i Testy nieuruchamiane.Można zmienić sposób, w jaki Eksplorator testów grupuje testy.
Można przeprowadzić wiele prac wyszukiwania, organizacji i uruchomienia testów z listwy narzędziowej Test Explorer.
Zawartość
Uruchom testy
Można uruchomić wszystkie testy w rozwiązaniu, wszystkie testy w grupie albo zestaw testów, który był wybrany.Wykonaj jedną z następujących czynności:
Aby uruchomić wszystkie testy w rozwiązaniu, wybierz opcję Uruchom wszystkie.
Aby uruchomić wszystkie testy w grupie domyślnej, wybierz opcję Uruchom... , a następnie wybierz grupę w menu.
Zaznacz poszczególne testy, które chcesz uruchomić, otwórz menu kontekstowe dla jednego z zaznaczonych testów, a następnie wybierz polecenie Uruchom wybrane testy.
Pasek powodzenie/niepowodzenie u góry okna Eksploratora testów jest animowany podczas działania testu.Na końcu przebiegu testowego, pasek powodzenie/niepowodzenie zmienia kolor na zielony, jeśli wszystkie testy zakończyły się pomyślnie, lub na czerwony, jeśli którykolwiek z testów nie powiódł się.
Zawartość
Uruchamianie testów po każdej kompilacji
Przestroga |
---|
Uruchamianie testów jednostek po każdej kompilacji jest obsługiwane w wersjach Ultimate i Premium programu Visual Studio. |
Aby uruchomić testy jednostki po każdej kompilacji lokalnej, wybierz polecenie Testuj w menu standardowym, a następnie wybierz opcję Uruchom testy po kompilacji na pasku narzędzi Eksploratora testów. |
Zawartość
Wyświetl wyniki testu
View test details**|**View the source code of a test method
Podczas przeprowadzania, zapisywania i ponownego przeprowadzania testów Test Explorer wyświetla wyniki w grupach Testy zakończone niepomyślnie, Testy zakończone pomyślnie, Testy pominięte i Testy nieuruchamiane.W okienku szczegółów u dołu okna Eksploratora testów jest wyświetlane podsumowanie przebiegu testu.
Pokaż szczegóły testu
Aby wyświetlić szczegółowe informacje o poszczególnych testach, wybierz przycisk Testuj.
W okienku szczegółów są wyświetlane następujące informacje:
Nazwa pliku źródłowego oraz numer wiersza metody testowej.
Stan testu.
Czas, jaki upłynął od ostatniego uruchomienia metody testowej.
Jeśli test się nie powiedzie, okienko szczegółów pokazuje również:
Komunikat zwracany przez strukturę testów jednostek dla tego testu.
Śledzenie stosu w czasie testu nie powiodło się.
Zawartość
Wyświetlanie kodu źródłowego metody badawczej
Aby wyświetlić kod źródłowy metody testowej w edytorze Visual Studio, zaznacz test, a następnie wybierz opcję Otwórz test z menu kontekstowego (klawiatura: F12).
Zawartość
Grupuj i filtruj listę testów
Grupowanie listy testów**|Grupowanie według cech|**Przeszukiwanie i filtrowanie listy testów
Eksplorator testów umożliwia grupowanie testów we wstępnie zdefiniowane kategorie.Większość ram testu jednostki, które działają w Eksplorerze testu pozwala zdefiniować własne kategorie i kategorię/wartość pary do grupowania testu.Wykaz testów można także filtrować za pomocą dopasowywania ciągów do właściwości testów.
Grupowanie listy testów
Aby zmienić sposób zorganizowania testów, wybierz strzałkę w dół obok przycisku Grupuj według i wybierz nowe kryteria grupowania.
Grupy Eksploratora testów
Grupa |
Opis |
---|---|
Czas trwania |
Grupuje testy według czasu wykonywania: Szybko, Średnio i Wolno. |
Wynik |
Grupuje testy według wyników wykonania: Testy zakończone niepomyślnie, Testy pominięte i Testy zakończone powodzeniem. |
Cechy |
Grupuje testy według par kategoria/wartość zdefiniowanych przez użytkownika.Składnia określająca kategorie i wartości cech jest zdefiniowana przez strukturę testu jednostki. |
Projekt |
Grupuje testy według nazw projektów. |
Zawartość
Grupowanie według cech
Cecha jest zazwyczaj parą nazwa kategorii/wartość, ale może też być pojedynczą kategorią.Cechy mogą być przypisane do metod, które są oznaczane jako metoda testowa przez szablon testu jednostki.Struktura testu jednostkowego może określać kategorie cech.Można dodać wartości do kategorii cech w celu zdefiniowania własnych par nazwa kategorii/wartość.Składnia określająca kategorie i wartości cech jest zdefiniowana przez strukturę testu jednostki.
Cechy w szablonie testowania jednostkowego Microsoft dla kodu zarządzanego
W programie Microsoft struktury testowe jednostki dla zarządzanych aplikacji, należy zdefiniować nazwę cechy / wartość pary w TestPropertyAttribute atrybucie.Struktura testu zawiera również następujące cechy wstępnie zdefiniowane:
Cecha |
Opis |
---|---|
Kategoria Właściciel jest zdefiniowana przez strukturę testów jednostek i wymaga podania wartości ciągu właściciela. |
|
Kategoria Priorytet jest zdefiniowana przez strukturę testów jednostek i wymaga podania wartości całkowitej priorytetu. |
|
Atrybut TestCategory umożliwia podanie kategorii bez wartości.Kategoria określona przez atrybut TestCategory może być również kategorią atrybutu TestProperty. |
|
Atrybut TestProperty pozwala na zdefiniowanie pary kategoria/wartość cechy. |
Cechy w szablonie testowania jednostkowego Microsoft dla języka C++
Aby zdefiniować cechę, użyj makra TEST_METHOD_ATTRIBUTE.Na przykład aby zdefiniować cechę o nazwie TEST_MY_TRAIT:
#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)
Aby użyć określonej cechy w testach jednostki:
BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
TEST_OWNER(L"OwnerName")
TEST_PRIORITY(1)
TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()
TEST_METHOD(Method1)
{
Logger::WriteMessage("In Method1");
Assert::AreEqual(0, 0);
}
Makra atrybutów cech C++
Makro |
Opis |
---|---|
TEST_METHOD_ATTRIBUTE(attributeName, attributeValue) |
Użyj makra TEST_METHOD_ATTRIBUTE, aby zdefiniować cechę. |
TEST_OWNER(ownerAlias) |
Wstępnie zdefiniowana cecha właściciela służy do określania właściciela metody badania. |
TEST_PRIORITY(priority) |
Wstępnie zdefiniowana cecha priorytetu jest używana do przypisywania względnych priorytetów do metod badania. |
Zawartość
Przeszukiwanie i filtrowanie listy testów
Filtry Test Explorer służą do ograniczenia metod testowych we własnych projektach, które są wyświetlane i uruchamiane.
Po wpisaniu ciągu w polu wyszukiwania Eksploratora testów i wybraniu ENTER, lista testowa jest filtrowana, tak aby wyświetlać tylko te testy, w których w pełni kwalifikowane nazwy zawierają ciąg.
Aby przefiltrować dane według różnych kryteriów:
Otwórz listę rozwijaną po prawej stronie pola wyszukiwania.
Wybierz nowe kryterium.
Wprowadź wartość filtru między znakami cudzysłowu.
[!UWAGA]
W wyszukiwaniu nie jest uwzględniana wielkość liter i określony ciąg jest dopasowywany do dowolnej części wartości kryterium.
Kwalifikator |
Opis |
---|---|
Cecha |
Wyszukuje dopasowania zarówno w kategoriach cech, jak i wartościach.Składnia określająca kategorie i wartości cech jest zdefiniowana przez strukturę testu jednostki. |
Projekt |
Wyszukuje dopasowania w nazwach projektów testów. |
Komunikat o błędzie |
Wyszukuje dopasowania w zdefiniowanych przez użytkownika komunikatach o błędach zwracanych przez nieudane potwierdzenia. |
Ścieżka pliku |
Wyszukuje dopasowania we w pełni kwalifikowanych nazwach źródłowych plików testowych. |
W pełni kwalifikowana nazwa |
Wyszukuje dopasowania we w pełni kwalifikowanych nazwach plików obszarów nazw, klas i metod testowych. |
Dane wyjściowe |
Przeszukuje zdefiniowane przez użytkownika komunikaty o błędach, które są zapisywane w wyjściu standardowym (stdout) lub błędzie standardowym (stderr).Składnia określająca komunikaty wyjściowe jest zdefiniowana przez strukturę testu jednostki. |
Wynik |
Wyszukuje dopasowania w nazwach kategorii Eksploratora testów: Testy zakończone niepomyślnie, Testy pominięte, Testy zakończone powodzeniem. |
Aby wykluczyć podzbiór wyników filtrowania, należy użyć następującej składni:
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Na przykład:
FullName:"MyClass" - FullName:"PerfTest"
zwraca wszystkie testy, które zawierają w nazwie ciąg „MyClass”, z wyjątkiem tych, które zawierają w nazwie również ciąg „PerfTest”.
Zawartość
Utwórz niestandardowe listy odtwarzania
Można utworzyć i zapisać wykaz testów, które chce się przeprowadzić lub zobaczyć jako grupę.Po wybraniu listy odtwarzania, testy na liście są wyświetlane w eksploratorze testów.Test można dodać do więcej niż jednej listy odtwarzania, a wszystkie testy w projekcie są dostępne po wybraniu opcji domyślnej listy odtwarzania Wszystkie testy.
Aby utworzyć listę odtwarzania, wybierz jeden lub więcej testów w Eksploratorze testów.W menu kontekstowym wybierz polecenie Dodaj do listy odtwarzania, NewPlaylist.Zapisz plik o nazwie i lokalizacji określonych w oknie dialogowym Tworzenie nowej listy odtwarzania.
Aby dodać testy do listy odtwarzania, wybierz jeden lub więcej testów w Eksploratorze testów.W menu kontekstowym wybierz polecenie Dodaj do listy odtwarzania, a następnie wybierz listę odtwarzania, do której chcesz dodać testy.
Aby otworzyć listę odtwarzania, wybierz opcję Testuj, Lista odtwarzania z menu programu Visual Studio, a następnie wybierz pozycję z listy niedawno używanych list odtwarzania lub wybierz polecenie Otwórz listę odtwarzania, aby określić nazwę i lokalizację listy
Zawartość
Debugowanie i analizowanie testów jednostkowych
Debuguj testy jednostkowe**|Diagnozowanie problemów z wydajnością metody testowej|**Analizuj pokrycie kodu testu jednostkowego
Debuguj testy jednostkowe
Test Explorer służy do uruchamiania sesji debugowania dla testów.Krokowe wykonywanie kodu za pomocą debugera programu Visual Studio pozwala na bezproblemowe przechodzenie tam i z powrotem między testami jednostek a projektem w ramach testu.Aby rozpocząć debugowanie:
W Edytorze programu Visual Studio ustaw punkt przerwania w jednej lub więcej metodzie badania, które chcesz debugować.
[!UWAGA]
Ponieważ metody testowe można uruchomić w dowolnej kolejności, ustaw punkty przerwania w wszystkich metodach testowych, które chcesz debugować.
W Eksploratorze Testów wybierz metody badania, a następnie wybierz Debuguj wybrane testy z menu kontekstowego.
Aby uzyskać więcej informacji dotyczących debugera, zobacz Debugowanie w Visual Studio.
Zawartość
Diagnozowanie problemów z wydajnością metoda testowej
Aby zdiagnozować, dlaczego metoda testowa zajmuje zbyt dużo czasu, wybierz metodę w Eksploratorze testów, a następnie wybierz profil z menu kontekstowego.Zobacz Analizowanie wydajności aplikacji za pomocą narzędzi profilowania.
Analizuj pokrycie kodu testu jednostkowego
[!UWAGA]
Pokrycie kodu testu jednostki jest dostępne tylko w programach Visual Studio Ultimate i Visual Studio Premium.
Można określić liczbę kodów produktu, który jest aktualnie testowany przez nasze testy jednostkowe z użyciem kodu narzędzia transmisji Visual Studio.Można uruchomić pokrycie kodów w wybranych testach albo we wszystkich testach w rozwiązaniu.
Aby uruchomić pokrycie kodu dla metod testowych w rozwiązaniu:
Wybierz Testy w menu programu Visual Studio, a następnie wybierz Analizuj pokrycie kodu.
Wybierz jedno z następujących poleceń z podmenu:
Opcja Wybrane testy uruchamia metody testowe wybrane w Eksploratorze testów.
Wszystkie testy uruchamia wszystkie metody testowe w rozwiązaniu.
Okno Wyniki pokrycia kodu wyświetla procent bloków kodu produktu, które były wykonywane przez wiersz, funkcję, klasę, obszar nazw i moduł.
Aby uzyskać więcej informacji, zobacz Korzystanie z pokrycia kodu do określania, jaka część kodu jest poddawana testom.
Zawartość
Zasoby zewnętrzne
Wskazówki
Zobacz też
Koncepcje
Weryfikowanie kodu przy użyciu testów jednostkowych
Porady: uruchamianie testu jednostkowego jako procesu 64-bitowego