Przeprowadzanie testów jednostkowych za pomocą narzędzia Eksplorator 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. Eksplorator testów umożliwia również grupowanie testów w kategorie, filtrowanie listy testów oraz tworzenie, zapisywanie i uruchamianie list odtwarzania testów. Eksplorator testów umożliwia również debugowanie testów jednostkowych i analizowanie pokrycia kodu w programie Visual Studio Enterprise.
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. Natywne projekty kodu C/C++ muszą być testowane 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.
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 platform testów jednostkowych innych firm
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ę Testuj w menu programu Visual Studio, a następnie wybierz pozycję Eksplorator testów (lub naciśnij klawisze Ctrl + E, T).
Podczas uruchamiania, zapisywania i ponownego uruchamiania testów w Eksploratorze testów zostaną wyświetlone wyniki domyślnego grupowania projektów, przestrzeni nazw i klasy. Możesz zmienić sposób grup testów w Eksploratorze testów.
Większość pracy podczas znajdowania, organizowania i uruchamiania testów można wykonać na pasku narzędzi Eksploratora testów.
Uruchom testy
Możesz uruchomić wszystkie testy w rozwiązaniu, wszystkie testy w grupie lub zestaw wybranych testów. Wykonaj jedną z następujących czynności:
Aby uruchomić wszystkie testy w rozwiązaniu, wybierz ikonę Uruchom wszystko (lub naciśnij klawisze Ctrl + R, V).
Aby uruchomić wszystkie testy w grupie domyślnej, wybierz ikonę Uruchom , a następnie wybierz grupę w menu.
Wybierz poszczególne testy, które chcesz uruchomić, otwórz menu prawym przyciskiem myszy dla wybranego testu, a następnie wybierz polecenie Uruchom wybrane testy (lub naciśnij klawisze 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 w menu ustawień paska narzędzi. Może to znacznie skrócić czas potrzebny na uruchomienie wszystkich testów.
Uruchamianie testów po każdej kompilacji
Aby uruchomić testy jednostkowe po każdej kompilacji lokalnej, otwórz ikonę ustawień na pasku narzędzi Eksplorator testów i 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 testów niepowodzeniem, testach z powodzeniem, pominiętych testach i nieuruchomionych testach. 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.
W okienku szczegółów testu są wyświetlane następujące informacje:
Nazwa pliku źródłowego i numer wiersza metody testowej.
Stan testu.
Upłynął czas, przez który metoda testowa została uruchomiona.
Jeśli test zakończy się niepowodzeniem, zostanie również wyświetlone okienko szczegółów:
Komunikat zwrócony przez strukturę testów jednostkowych dla testu.
Ślad stosu w momencie niepowodzenia testu.
Wyświetlanie kodu źródłowego metody testowej
Aby wyświetlić kod źródłowy metody testowej w edytorze programu Visual Studio, wybierz test, a następnie wybierz polecenie Otwórz test w menu prawym przyciskiem myszy (lub naciśnij klawisz F12).
Grupowanie i filtrowanie listy testów
Eksplorator testów umożliwia grupowanie testów 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 Project( Projekt), Namespace (Przestrzeń nazw), a następnie Class (Klasa). Aby zmienić sposób organizowania testów, wybierz przycisk Grupuj według i wybierz nowe kryteria grupowania.
Możesz zdefiniować własne poziomy hierarchii i grupy 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 Project( Projekt), Namespace (Przestrzeń nazw), a następnie Class (Klasa). Aby zmienić sposób organizowania testów, wybierz przycisk Grupuj według i wybierz nowe kryteria grupowania.
Możesz zdefiniować własne poziomy hierarchii i grupy według stanu, a następnie klasę, na przykład wybierając opcje Grupuj według w preferowanej kolejności.
Grupy Eksploratora testów
Grupuj | opis |
---|---|
Czas trwania | Grupuje testy według czasu wykonywania: Szybkie, Średnie i Powolne. |
Stanowy | Grupuje testy według wyników wykonywania: testy nieudane, pominięte testy, testy z powodzeniem, nie uruchamiane |
Struktura docelowa | Grupuje testy według struktury docelowej swoich projektów |
Przestrzeń nazw | Grupuje testy według zawierającej przestrzeni nazw. |
Projekt | Grupuje testy według projektu zawierającego. |
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 są identyfikowane jako metoda testowa przez strukturę testów jednostkowych. 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. Składnia określająca kategorie cech i wartości jest definiowana przez strukturę testów jednostkowych.
Cechy w programie Microsoft Unit Testing Framework dla kodu zarządzanego
W strukturze testów jednostkowych firmy Microsoft dla aplikacji zarządzanych zdefiniujesz parę nazw/wartości cech w atrybucie TestPropertyAttribute . Platforma testowa zawiera również następujące wstępnie zdefiniowane cechy:
Cecha | opis |
---|---|
OwnerAttribute | Kategoria Właściciel jest definiowana przez strukturę testów jednostkowych i wymaga podania wartości ciągu właściciela. |
PriorityAttribute | Kategoria Priorytet 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 Jak używać platformy Microsoft Unit Testing Framework dla języka C++.
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 są 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. W menu prawym przyciskiem myszy wybierz polecenie Dodaj do listy odtwarzania Nowa lista odtwarzania>.
Lista odtwarzania zostanie otwarta na nowej karcie Eksploratora testów. Możesz użyć tej listy odtwarzania raz, a następnie odrzucić ją lub kliknąć przycisk Zapisz na pasku narzędzi okna listy odtwarzania, a następnie wybrać nazwę i lokalizację, aby zapisać listę odtwarzania.
Aby utworzyć listę odtwarzania, wybierz co najmniej jeden test w Eksploratorze testów. Kliknij prawym przyciskiem myszy i wybierz polecenie Dodaj do listy odtwarzania Nowa lista odtwarzania>.
Aby otworzyć listę odtwarzania, wybierz ikonę listy odtwarzania na pasku narzędzi programu Visual Studio i wybierz wcześniej zapisany plik listy odtwarzania z menu.
Aby edytować listę odtwarzania, możesz kliknąć prawym przyciskiem myszy dowolny test i użyć opcji menu, aby dodać lub usunąć ją z listy odtwarzania.
Począwszy od programu Visual Studio 2019 w wersji 16.7, możesz wybrać przycisk Edytuj na pasku narzędzi. Pola wyboru będą wyświetlane obok testów pokazujących, które testy są uwzględnione i wykluczone z listy odtwarzania. Edytuj grupy zgodnie z potrzebami.
Można również zaznaczyć lub usunąć zaznaczenie pól 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 obok klasy zostanie dodany znacznik wyboru, 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. Więcej informacji o regułach można dowiedzieć się, zapisując listę odtwarzania za pomocą przycisku Zapisz na pasku narzędzi i otwierając plik listy odtwarzania 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 biblioteki MSTest.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Użyj następującego formatu dla narzędzia xUnit. Upewnij się, że istnieje spacja między twoim TestCategory
imieniem i znakiem [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 są 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. W menu prawym przyciskiem myszy wybierz polecenie Dodaj do listy odtwarzania Nowa lista odtwarzania>.
Lista odtwarzania zostanie otwarta na nowej karcie Eksploratora testów. Możesz użyć tej listy odtwarzania raz, a następnie odrzucić ją lub kliknąć przycisk Zapisz na pasku narzędzi okna listy odtwarzania, a następnie wybrać nazwę i lokalizację, aby zapisać listę odtwarzania.
Aby utworzyć listę odtwarzania, wybierz co najmniej jeden test w Eksploratorze testów. Kliknij prawym przyciskiem myszy i wybierz polecenie Dodaj do listy odtwarzania Nowa lista odtwarzania>.
Aby otworzyć listę odtwarzania, wybierz ikonę listy odtwarzania na pasku narzędzi programu Visual Studio i wybierz wcześniej zapisany plik listy odtwarzania z menu.
Aby edytować listę odtwarzania, możesz kliknąć prawym przyciskiem myszy dowolny test i użyć opcji menu, aby dodać lub usunąć ją z listy odtwarzania.
Począwszy od programu Visual Studio 2019 w wersji 16.7, możesz wybrać przycisk Edytuj na pasku narzędzi. Pola wyboru będą wyświetlane obok testów pokazujących, które testy są uwzględnione i wykluczone z listy odtwarzania. Edytuj grupy zgodnie z potrzebami.
Można również zaznaczyć lub usunąć zaznaczenie pól 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 obok klasy zostanie dodany znacznik wyboru, 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. Więcej informacji o regułach można dowiedzieć się, zapisując listę odtwarzania za pomocą przycisku Zapisz na pasku narzędzi i otwierając plik listy odtwarzania 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 biblioteki MSTest.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Użyj następującego formatu dla narzędzia xUnit. Upewnij się, że istnieje spacja między twoim TestCategory
imieniem i znakiem [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 i można dostosować wyświetlane kolumny i kolejność ich wyświetlania.
Filtrowanie, sortowanie i zmienianie kolejności kolumn testowych
Kolumny można filtrować, sortować i rozmieszczać.
Aby filtrować pod kątem określonych cech, kliknij ikonę filtru w górnej części kolumny Traits.
Aby zmienić kolejność kolumn, kliknij nagłówek kolumny i przeciągnij go w lewo lub w prawo.
Aby posortować kolumnę, kliknij nagłówek kolumny. Nie wszystkie kolumny można sortować. Możesz również sortować według kolumny pomocniczej, trzymając klawisz Shift i klikając dodatkowy nagłówek kolumny.
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 i można dostosować wyświetlane kolumny i kolejność ich wyświetlania.
Filtrowanie, sortowanie i zmienianie kolejności kolumn testowych
Kolumny można filtrować, sortować i rozmieszczać.
Aby filtrować pod kątem określonych cech, kliknij ikonę filtru w górnej części kolumny Traits.
Aby zmienić kolejność kolumn, kliknij nagłówek kolumny i przeciągnij go w lewo lub w prawo.
Aby posortować kolumnę, kliknij nagłówek kolumny. Nie wszystkie kolumny można sortować. Możesz również sortować według kolumny pomocniczej, trzymając klawisz Shift i klikają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 Eksplorator testów i wybraniu klawisza Enter lista testowa jest filtrowana w celu wyświetlenia tylko tych testów, których w pełni kwalifikowane nazwy zawierają ciąg.
Aby filtrować według różnych kryteriów:
Otwórz listę rozwijaną po prawej stronie pola wyszukiwania.
Wybierz nowe kryteria.
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 (:).
Uwaga
Wyszukiwanie jest niewrażliwe na wielkość liter i dopasowuje określony ciąg do dowolnej części wartości kryteriów.
Kwalifikator | opis |
---|---|
Stanowy | Wyszukuje nazwy kategorii Eksploratora testów pod kątem dopasowań: testy nieudane, pominięte testy, testy z powodzeniem. |
Cechy | Wyszukuje zarówno kategorię cech, jak i wartość dla dopasowań. Składnia określająca kategorie cech i wartości są definiowane przez strukturę testów jednostkowych. |
W pełni kwalifikowana nazwa | Wyszukuje w pełni kwalifikowaną nazwę testowych przestrzeni nazw, klas i metod pod kątem dopasowań. |
Projekt | Wyszukuje nazwy projektów testowych pod kątem dopasowań. |
Struktura docelowa | Wyszukuje struktury testowe pod kątem dopasowań. |
Przestrzeń nazw | Przeszukuje testowe przestrzenie nazw pod kątem dopasowań. |
Klasa | Wyszukuje nazwy klas testowych pod kątem dopasowań. |
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 również zawierają ciąg "PerfTest" w nazwie.
Analizowanie pokrycia kodu testu jednostkowego
Możesz określić ilość kodu produktu, który jest rzeczywiście testowany przez testy jednostkowe, przy użyciu narzędzia pokrycia kodu programu Visual Studio dostępnego w wersji Visual Studio Enterprise. Pokrycie kodu można uruchamiać na wybranych testach lub we wszystkich testach w rozwiązaniu.
Aby uruchomić pokrycie kodu dla metod testowych w rozwiązaniu:
- Kliknij prawym przyciskiem myszy w Eksploratorze testów i wybierz polecenie Analizuj pokrycie kodu dla wybranych testów
W oknie Wyniki pokrycia kodu jest wyświetlana wartość procentowa bloków kodu produktu, które były wykonywane według wiersza, funkcji, klasy, przestrzeni nazw i modułu.
Aby uzyskać więcej informacji, zobacz Używanie pokrycia kodu w celu określenia, ile kodu jest testowane.
Skróty testowe
Testy można uruchamiać w Eksploratorze testów, klikając prawym przyciskiem myszy edytor kodu w teście i wybierając polecenie Uruchom test lub używając domyślnych skrótów Eksploratora testów w programie Visual Studio. Niektóre skróty są oparte na kontekście. Oznacza to, że uruchamiają, debugują lub profilują testy na podstawie miejsca, w którym znajduje się kursor 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. Jest to również takie samo dla 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 |
Uwaga
Nie można uruchomić testu w klasie abstrakcyjnej, ponieważ testy są definiowane tylko w klasach abstrakcyjnych i nie są tworzone wystąpienia. Aby uruchomić testy w klasach abstrakcyjnych, utwórz klasę pochodzącą z klasy abstrakcyjnej.
Testowanie sygnału dźwiękowego
Eksplorator testów może odtwarzać dźwięk po zakończeniu przebiegu testu. Istnieją dwa dźwięki: jeden dźwięk wskazujący, że przebieg testu zakończył się pomyślnie ze wszystkimi testami zakończonymi powodzeniem, a drugi dźwięk wskazujący, że przebieg testu zakończył się co najmniej jednym testem zakończonym niepowodzeniem. Te dźwięki można skonfigurować w domyślnym oknie dialogowym dźwięku systemu Windows 11. Ta funkcja jest dostępna od wersji 3 programu Visual Studio 2019 Update 16.9 (wersja zapoznawcza 3).
- Otwórz domyślne okno dialogowe dźwięku systemu Windows 11.
- Przejdź do karty Dźwięki .
- Znajdź kategorię Microsoft Visual Studio . Wybierz dźwięki Powodzenie przebiegu testu lub Przebieg testu Zakończone niepowodzeniem, aby wybrać wstępnie ustawione dźwięki lub przejść do własnego pliku audio.