Uruchamianie testów jednostkowych przy użyciu Eksploratora testów
Użyj Eksploratora testów do uruchamiania testów jednostkowych z poziomu programu Visual Studio lub projektów testów jednostkowych innych firm. W Eksploratorze testów można grupować testy w kategorie, filtrować listę testów i tworzyć, zapisywać i uruchamiać listy odtwarzania testów. Eksplorator testów umożliwia również debugowanie testów jednostkowych i w programie Visual Studio Enterprise w celu analizowania pokrycia kodu.
Eksplorator testów może uruchamiać testy z wielu projektów testowych w rozwiązaniu i z klas testowych, które są częścią projektów kodu produkcyjnego. Projekty testowe mogą używać różnych struktur testów jednostkowych. Gdy kod testowy jest napisany dla platformy .NET, projekt testowy można napisać w dowolnym języku, który jest również przeznaczony dla platformy .NET, niezależnie od języka kodu docelowego. Należy przetestować natywne projekty kodu C i C++ przy użyciu struktury testów jednostkowych języka C++.
Kompilowanie projektu testowego
Jeśli nie masz jeszcze projektu testowego skonfigurowanego w rozwiązaniu programu Visual Studio, musisz najpierw utworzyć i skompilować projekt testowy. Użyj następujących zasobów:
Program Visual Studio zawiera struktury testów jednostkowych firmy Microsoft dla kodu zarządzanego i natywnego. Jednak Eksplorator testów może również uruchamiać dowolną strukturę testów jednostkowych, która zaimplementowała adapter Eksploratora testów. Aby uzyskać więcej informacji na temat instalowania platform testów jednostkowych innych firm, zobacz Instalowanie struktur testów jednostkowych.
Uruchamianie testów w Eksploratorze testów
Podczas kompilowanie projektu testowego testy są wyświetlane w Eksploratorze testów. Jeśli Eksplorator testów nie jest widoczny, wybierz pozycję Test w menu programu Visual Studio, a następnie wybierz pozycję Eksplorator testów (lub naciśnij Ctrl+E, T).
Podczas uruchamiania, zapisywania i ponownego uruchamiania testów Eksplorator testów wyświetla wyniki domyślnego grupowania project, przestrzeni nazwi Class. Możesz zmienić sposób grup testów w Eksploratorze testów.
Większość pracy z wyszukiwaniem, organizowaniem i uruchamianiem testów można wykonać na pasku narzędzi eksploratora testów
Uruchamianie testów
Wybierz jedną z następujących opcji uruchamiania testów:
Aby uruchomić wszystkie testy w rozwiązaniu, wybierz ikonę Uruchom wszystkie (lub naciśnij Ctrl+R, V).
Aby uruchomić wszystkie testy w grupie domyślnej, wybierz ikonę Uruchom, a następnie wybierz grupę w menu.
Aby uruchomić poszczególne testy, wybierz co najmniej jeden test, kliknij prawym przyciskiem myszy gdzieś w okienku, a następnie wybierz Uruchom wybrane testy (lub naciśnij Ctrl+R, T).
Jeśli poszczególne testy nie mają zależności, które uniemożliwiają ich uruchamianie w dowolnej kolejności, włącz równoległe wykonywanie testów na menu ustawień paska narzędzi. Ta akcja może skrócić czas uruchamiania wszystkich testów.
Notatka
Aby skonfigurować platformę docelową (architekturę procesu) na potrzeby uruchamiania testów jednostkowych, zobacz Konfigurowanie architektury procesów dla testu jednostkowego.
Uruchamianie testów po każdej kompilacji
Aby uruchomić testy jednostkowe po każdej kompilacji lokalnej, wybierz ikonę ustawień na pasku narzędzi Eksplorator testów, a następnie wybierz pozycję Uruchom testy po kompilacji.
Wyświetlanie wyników testu
Podczas uruchamiania, zapisywania i ponownego uruchamiania testów Eksplorator Testów wyświetla wyniki w grupach: Niepowodzenie Testów, Testy Zaliczone, Testy Pominiętei Testy Nieuruchomione. Okienko szczegółów u dołu lub po stronie Eksploratora testów zawiera podsumowanie przebiegu testu.
Wyświetlanie szczegółów testu
Aby wyświetlić szczegóły pojedynczego testu, wybierz test.
Zostanie wyświetlone okienko szczegółów testu:
Nazwa pliku źródłowego i numer wiersza metody testowej.
Stan testu.
Czas, który upłynął podczas wykonywania metody testowej.
Jeśli test zakończy się niepowodzeniem, zostanie również wyświetlone okienko szczegółów:
Komunikat zwracany przez strukturę testów jednostkowych dla testu.
Ślad stosu w momencie, gdy test nie powiódł się.
Wyświetlanie kodu źródłowego metody testowej
Aby wyświetlić kod źródłowy metody testowej w edytorze programu Visual Studio, kliknij prawym przyciskiem myszy test, a następnie wybierz Otwórz test (lub wybierz klawisz F12).
Grupowanie i filtrowanie listy testów
W Eksploratorze testów można zgrupować testy w wstępnie zdefiniowane kategorie. Większość struktur testów jednostkowych uruchamianych w Eksploratorze testów umożliwia zdefiniowanie własnych kategorii i par kategorii/wartości w celu grupowania testów. Listę testów można również filtrować, pasując ciągi do właściwości testu.
Grupowanie testów na liście testów
Eksplorator testów umożliwia grupowanie testów w hierarchii. Domyślne grupowanie hierarchii to projekt, przestrzeń nazw, następnie klasa. Aby zmienić sposób organizowania testów, wybierz przycisk "Grupuj według" w "Eksploratorze testów", a następnie wybierz nowe kryterium grupowania.
Możesz zdefiniować własne poziomy hierarchii (grupować według stanu, a następnie klasę, na przykład), wybierając opcje Grupuj według w preferowanej kolejności.
Eksplorator testów umożliwia grupowanie testów w hierarchii. Domyślne grupowanie hierarchii to projekt, przestrzeń nazw, następnie klasa. Aby zmienić sposób organizowania testów, najpierw wybierz przycisk Grupuj według, a potem naciśnij przycisk grupy Eksplorator testów , a następnie wybierz nowe kryterium grupowania.
Możesz zdefiniować własne poziomy hierarchii (grupować według stanu, a następnie klasę, na przykład), wybierając opcje Grupuj według w preferowanej kolejności.
Grupy Eksploratora testów
Grupa | Opis |
---|---|
czas trwania | Grupuje testy według czasu wykonywania: Fast, Medium, Slow. |
stanu | Grupuje testy według wyników wykonywania: nieudane testy, pominięte testy, zaliczone testy, nie uruchomione. |
|
Grupuje testy według frameworków, na które są ukierunkowane ich projekty. |
przestrzeń nazw | Grupuje testy według przestrzeni nazw, która je zawiera. |
projekt | Grupuje testy według projektu, który je zawiera. |
klasa | Grupuje testy według zawierającej klasy. |
Cechy
Cecha jest zwykle parą nazwa/wartość kategorii, ale może być również jedną kategorią. Cechy można przypisać do metod, które platforma testów jednostkowych identyfikuje jako metody testowe.
Struktura testów jednostkowych może definiować kategorie cech. Możesz dodać wartości do kategorii cech, aby zdefiniować własne pary nazw/wartości kategorii. Struktura testów jednostkowych definiuje składnię określającą kategorie i wartości cech.
Cechy w programie Microsoft Unit Testing Framework dla kodu zarządzanego
W frameworku Microsoft Unit Testing Framework for Managed Code definiujesz parę nazwa/wartość cechy w atrybucie TestPropertyAttribute. Platforma testowa zawiera również następujące wstępnie zdefiniowane cechy:
Cecha | Opis |
---|---|
OwnerAttribute | Kategoria Owner jest definiowana przez framework testowy i wymaga podania wartości tekstowej właściciela. |
PriorityAttribute | Kategoria Priority jest definiowana przez strukturę testów jednostkowych i wymaga podania wartości całkowitej priorytetu. |
TestCategoryAttribute | Atrybut TestCategory umożliwia określenie kategorii testu jednostkowego. |
TestPropertyAttribute | Atrybut TestProperty umożliwia zdefiniowanie pary cech kategorii/wartości. |
Cechy w środowisku Microsoft Unit Testing Framework dla języka C++
Zobacz Użyj Microsoft Unit Testing Framework dla C++ w Visual Studio.
Tworzenie niestandardowych list odtwarzania
Możesz utworzyć i zapisać listę testów, które chcesz uruchomić lub wyświetlić jako grupę. Po wybraniu listy odtwarzania testy na liście będą wyświetlane na nowej karcie Eksplorator testów. Możesz dodać test do więcej niż jednej listy odtwarzania.
Aby utworzyć listę odtwarzania:
- Wybierz co najmniej jeden test w Eksploratorze testów.
- Kliknij prawym przyciskiem myszy w dowolnym miejscu w okienku, wskaż polecenie Dodaj do listy odtwarzania, a następnie wybierz pozycję Nowa lista odtwarzania.
Lista odtwarzania zostanie otwarta na nowej karcie Eksplorator testów. Możesz użyć tej listy odtwarzania raz, a następnie odrzucić ją. Możesz też wybrać przycisk Zapisz na pasku narzędzi okna listy odtwarzania, a następnie wybrać nazwę i lokalizację, aby zapisać listę odtwarzania.
Aby otworzyć listę odtwarzania:
- Na pasku narzędzi programu Visual Studio wybierz ikonę listy odtwarzania.
- W menu wybierz wcześniej zapisany plik listy odtwarzania.
Aby edytować listę odtwarzania, użyj jednej z następujących opcji:
Kliknij prawym przyciskiem myszy dowolny test, a następnie użyj poleceń menu, aby dodać lub usunąć go z listy odtwarzania.
Na pasku narzędzi wybierz przycisk Edytuj listę odtwarzania. Pola wyboru wyświetlane obok testów pokazują, które testy są uwzględnione i wykluczone na liście odtwarzania. Edytuj grupy zgodnie z potrzebami. Ta funkcja została uruchomiona w programie Visual Studio 2019 w wersji 16.7.
Możesz również zaznaczyć lub wyczyścić pola dla grup nadrzędnych w hierarchii. Ta akcja tworzy dynamiczną listę odtwarzania, która zawsze aktualizuje listę odtwarzania na podstawie testów, które znajdują się w tej grupie.
Jeśli na przykład zaznaczysz pole wyboru obok klasy, każdy test dodany z tej klasy stanie się częścią tej listy odtwarzania. Jeśli usuniesz test z tej klasy, zostanie on usunięty z listy odtwarzania.
Aby dowiedzieć się więcej o regułach, zapisz listę odtwarzania za pomocą przycisku Zapisz na pasku narzędzi, a następnie otwórz plik XML .playlist utworzony na dysku. Ten plik zawiera listę wszystkich reguł i poszczególnych testów, które tworzą listę odtwarzania.
Jeśli chcesz utworzyć listę odtwarzania dla cech, użyj następującego formatu dla struktury MSTest:
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Użyj następującego formatu dla struktury xUnit. Upewnij się, że istnieje spacja między nazwą TestCategory
a wartością [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
Możesz utworzyć i zapisać listę testów, które chcesz uruchomić lub wyświetlić jako grupę. Po wybraniu listy odtwarzania testy na liście będą wyświetlane na nowej karcie Eksplorator testów. Możesz dodać test do więcej niż jednej listy odtwarzania.
Aby utworzyć listę odtwarzania:
- Wybierz co najmniej jeden test w Eksploratorze testów.
- Kliknij prawym przyciskiem myszy gdziekolwiek w okienku, wskaż polecenie Dodaj do playlisty, a następnie wybierz pozycję Nowa playlista.
Lista odtwarzania zostanie otwarta na nowej karcie Eksplorator testów. Możesz użyć tej listy odtwarzania raz, a następnie odrzucić ją. Możesz też wybrać przycisk Zapisz na pasku narzędzi okna listy odtwarzania, a następnie wybrać nazwę i lokalizację, aby zapisać listę odtwarzania.
Aby otworzyć listę odtwarzania:
- Na pasku narzędzi programu Visual Studio wybierz ikonę listy odtwarzania.
- W menu wybierz wcześniej zapisany plik listy odtwarzania.
Aby edytować listę odtwarzania, użyj jednej z następujących opcji:
Kliknij prawym przyciskiem myszy dowolny test, a następnie użyj poleceń menu, aby dodać lub usunąć go z listy odtwarzania.
Na pasku narzędzi wybierz przycisk Edytuj listę odtwarzania. Pola wyboru wyświetlane obok testów pokazują, które testy są uwzględnione i wykluczone na liście odtwarzania. Edytuj grupy zgodnie z potrzebami. Ta funkcja została uruchomiona w programie Visual Studio 2019 w wersji 16.7.
Możesz również zaznaczyć lub wyczyścić pola dla grup nadrzędnych w hierarchii. Ta akcja tworzy dynamiczną listę odtwarzania, która zawsze aktualizuje listę odtwarzania na podstawie testów, które znajdują się w tej grupie.
Jeśli na przykład zaznaczysz pole wyboru obok klasy, każdy test dodany z tej klasy stanie się częścią tej listy odtwarzania. Jeśli usuniesz test z tej klasy, zostanie on usunięty z listy odtwarzania.
Aby dowiedzieć się więcej o regułach, zapisz listę odtwarzania za pomocą przycisku Zapisz na pasku narzędzi, a następnie otwierając .playlistę pliku XML utworzonego na dysku. Ten plik zawiera listę wszystkich reguł i poszczególnych testów, które tworzą listę odtwarzania.
Jeśli chcesz utworzyć listę odtwarzania dla cech, użyj następującego formatu dla struktury MSTest:
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Użyj następującego formatu dla struktury xUnit. Upewnij się, że istnieje spacja między nazwą TestCategory
a wartością [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
Kolumny Eksploratora testów
Grupy są również dostępne jako kolumny w Eksploratorze testów, wraz z Cechami, Śladem stosu, Komunikatem o błędzie i w pełni kwalifikowaną nazwą. Większość kolumn nie jest domyślnie widoczna. Możesz dostosować wyświetlane kolumny.
Kolumny można filtrować, rozmieszczać i sortować:
Aby filtrować do określonych cech, wybierz ikonę filtru w górnej części kolumny Traits.
Aby zmienić kolejność kolumn, wybierz nagłówek kolumny i przeciągnij go w lewo lub w prawo.
Aby posortować kolumnę, wybierz nagłówek kolumny. Nie wszystkie kolumny można sortować. Możesz również sortować według kolumny pomocniczej, trzymając Shift i wybierając dodatkowy nagłówek kolumny.
Kolumny Eksploratora testów
Grupy są również dostępne jako kolumny w Eksploratorze testów, wraz z Cechami, Śledzeniem stosu, Komunikatem o błędzie i W pełni kwalifikowaną nazwą. Większość kolumn nie jest domyślnie widoczna. Możesz dostosować wyświetlane kolumny.
Kolumny można filtrować, rozmieszczać i sortować:
Aby filtrować do określonych cech, wybierz ikonę filtru w górnej części kolumny Traits.
Aby zmienić kolejność kolumn, wybierz nagłówek kolumny i przeciągnij go w lewo lub w prawo.
Aby posortować kolumnę, wybierz nagłówek kolumny. Nie wszystkie kolumny można sortować. Możesz również sortować według kolumny pomocniczej, trzymając Shift i wybierając dodatkowy nagłówek kolumny.
Wyszukiwanie i filtrowanie listy testowej
Możesz również użyć filtrów wyszukiwania Eksploratora testów, aby ograniczyć metody testowania w projektach, które są wyświetlane i uruchamiane.
Po wpiseniu ciągu w polu wyszukiwania Eksploratora testów i wybraniu Enter lista testowa jest filtrowana w celu wyświetlenia tylko testów, których w pełni kwalifikowane nazwy zawierają ciąg.
Aby filtrować według innego kryterium:
Otwórz listę rozwijaną po prawej stronie pola wyszukiwania.
Wybierz nowe kryterium.
Wprowadź wartość filtru między cudzysłowami. Jeśli chcesz wyszukać dokładne dopasowanie w ciągu zamiast dopasowania zawierającego, użyj znaku równości (=) zamiast dwukropka (:)).
Notatka
Wyszukiwanie jest niewrażliwe na wielkość liter i dopasowuje określony ciąg do dowolnej części wartości kryterium.
Kwalifikator | Opis |
---|---|
stanu | Wyszukuje nazwy kategorii Eksploratora testów pod kątem dopasowań: testy nieudane, pominięte testy, testy z powodzeniem. |
cech | Wyszukuje dopasowania zarówno w kategoriach cech, jak i w wartościach. Struktura testów jednostkowych definiuje składnię określającą kategorie i wartości cech. |
w pełni kwalifikowana nazwa | Wyszukuje w pełni kwalifikowaną nazwę testowych przestrzeni nazw, klas i metod w celu znalezienia dopasowań. |
projekt | Wyszukuje nazwy projektów testowych pod kątem dopasowań. |
|
Wyszukuje struktury testowe pod kątem dopasowań. |
przestrzeń nazw | Przeszukuje testowe przestrzenie nazw pod kątem dopasowań. |
klasa | Wyszukuje dopasowania w nazwach klas testowych. |
Aby wykluczyć podzbiór wyników filtru, użyj następującej składni:
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Na przykład FullName:"MyClass" - FullName:"PerfTest"
zwraca wszystkie testy, które zawierają ciąg "MyClass" w swojej nazwie, z wyjątkiem testów, które zawierają również nazwę "PerfTest".
Analizuj pokrycie kodu testów jednostkowych
Możesz określić ilość kodu produktu, który jest faktycznie testowany przez testy jednostkowe przy użyciu narzędzia pokrycia kodu dostępnego w Visual Studio Enterprise. Można uruchomić pokrycie kodu dla wybranych testów lub wszystkich testów w rozwiązaniu.
Aby uruchomić pokrycie kodu dla metod testowych w rozwiązaniu:
- Kliknij prawym przyciskiem myszy w Eksploratorze testów, a następnie wybierz Analizuj pokrycie kodu dla wybranych testów.
W oknie wyniki pokrycia kodu są wyświetlane wartości procentowe bloków kodu produktu, które zostały wykonane według wierszy, funkcji, klasy, przestrzeni nazw i modułu.
Aby uzyskać więcej informacji, zobacz Użyj pokrycia kodu, aby określić, ile kodu jest testowane.
Skróty testowe
Testy można uruchamiać w Eksploratorze testów, wykonując jedną z następujących czynności:
- Kliknij prawym przyciskiem myszy test w edytorze kodu, a następnie wybierz Uruchom test
- Używanie domyślnych skrótów eksploratora testów w programie Visual Studio
Niektóre skróty są oparte na kontekście. Uruchamiają debuglub profil testy w zależności od tego, gdzie kursor znajduje się w edytorze kodu. Jeśli kursor znajduje się wewnątrz metody testowej, zostanie uruchomiona ta metoda testowa. Jeśli kursor znajduje się na poziomie klasy, wszystkie testy w tej klasie są uruchamiane. To samo zachowanie dotyczy poziomu przestrzeni nazw.
Częste polecenia | Skróty klawiaturowe |
---|---|
TestExplorer.DebugAllTestsInContext |
Ctrl+R, Ctrl+T |
TestExplorer.RunAllTestsInContext |
Ctrl+R, T |
TestExplorer.RunAllTests |
Ctrl+R, A |
TestExplorer.RepeatLastRun |
Ctrl+R, L |
Notatka
Nie można uruchomić testu w klasie abstrakcyjnej, ponieważ testy są definiowane w klasach abstrakcyjnych, ale nie można tworzyć ich wystąpień. Aby uruchomić testy w klasach abstrakcyjnych, utwórz klasę pochodzącą z klasy abstrakcyjnej.
Konfigurowanie wskazówek dźwiękowych
Eksplorator testów może odtworzyć jeden z tych dźwięków po zakończeniu przebiegu testu:
- Dźwięk wskazujący, że przebieg testu zakończył się pomyślnie ze wszystkimi testami zakończonymi powodzeniem
- Dźwięk wskazujący, że przebieg testu zakończył się z co najmniej jednym testem zakończonym niepowodzeniem
Te dźwięki można skonfigurować w domyślnym oknie dialogowym Windows 11 Sound. Ta funkcja jest dostępna od Visual Studio 2019 Update 16.9 Preview 3.
- Otwórz domyślne okno dialogowe dźwięku systemu Windows 11
. - Przejdź do karty Dźwięki.
- Znajdź kategorię programu Microsoft Visual Studio. Wybierz przebieg testu zakończony powodzeniem lub przebieg testu zakończony niepowodzeniem dźwięku wstępnego lub przejdź do własnego pliku audio.