Udostępnij za pośrednictwem


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).

Zrzut ekranu przedstawiający listę testów w Eksploratorze testów.

Zrzut ekranu przedstawiający listę testów w Eksploratorze testów.

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 .

Zrzut ekranu opisujący ikony uruchamiania testów na pasku narzędzi Eksploratora testów.

Zrzut ekranu opisujący ikony uruchamiania testów 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.

Zrzut ekranu przedstawiający szczegóły wykonania testu.

Zrzut ekranu przedstawiający szczegóły wykonania testu.

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.

Zrzut ekranu przedstawiający opcje grupowania testów według kategorii w Eksploratorze testów.

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.

Zrzut ekranu Eksploratora testów przedstawiający hierarchię testową w jednym okienku i menu Grupuj według w drugim okienku z wybraną opcją Klasa i stan.

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.

Zrzut ekranu przedstawiający opcje grupowania testów według kategorii w Eksploratorze testów.

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.

Zrzut ekranu Eksploratora testów pokazujący hierarchię testową w jednym okienku i menu Grupuj według w drugim okienku, z zaznaczonymi opcjami Klasa i Stan.

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.
Platformy docelowej 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:

  1. Wybierz co najmniej jeden test w Eksploratorze testów.
  2. Kliknij prawym przyciskiem myszy w dowolnym miejscu w okienku, wskaż polecenie Dodaj do listy odtwarzania, a następnie wybierz pozycję Nowa lista odtwarzania.

Zrzut ekranu przedstawiający opcje tworzenia listy 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.

zrzut ekranu przedstawiający listę odtwarzania otwartą na osobnej karcie Eksplorator Testów.

Aby otworzyć listę odtwarzania:

  1. Na pasku narzędzi programu Visual Studio wybierz ikonę listy odtwarzania.
  2. 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.

    Zrzut ekranu przedstawiający przycisk Edytuj listę odtwarzania na pasku narzędzi.

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.

Zrzut ekranu przedstawiający zawartość pliku XML listy 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:

  1. Wybierz co najmniej jeden test w Eksploratorze testów.
  2. Kliknij prawym przyciskiem myszy gdziekolwiek w okienku, wskaż polecenie Dodaj do playlisty, a następnie wybierz pozycję Nowa playlista.

Zrzut ekranu przedstawiający opcje tworzenia listy 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.

Zrzut ekranu przedstawiający listę odtwarzania otwartą na osobnej karcie w Eksploratorze testów.

Aby otworzyć listę odtwarzania:

  1. Na pasku narzędzi programu Visual Studio wybierz ikonę listy odtwarzania.
  2. 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.

    Zrzut ekranu przedstawiający przycisk Edytuj listę odtwarzania na pasku narzędzi.

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.

Zrzut ekranu przedstawiający zawartość pliku XML listy 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.

Zrzut ekranu Eksploratora testów programu Visual Studio przedstawiający menu z wybraną opcją Kolumny oraz podmenu z wybranymi opcjami Czas, Cechy i Komunikat o błędzie.

Kolumny można filtrować, rozmieszczać i sortować:

  • Aby filtrować do określonych cech, wybierz ikonę filtru w górnej części kolumny Traits.

    Zrzut ekranu przedstawiający filtr kolumny.

  • 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.

    Zrzut ekranu przedstawiający sortowanie kolumn.

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.

Zrzut ekranu Eksploratora testów programu Visual Studio pokazujący menu z wybraną opcją Kolumny oraz podmenu z wybranymi opcjami Czas trwania, Cechy i Komunikat o błędzie.

Kolumny można filtrować, rozmieszczać i sortować:

  • Aby filtrować do określonych cech, wybierz ikonę filtru w górnej części kolumny Traits.

    Zrzut ekranu przedstawiający filtr kolumny.

  • 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.

    Zrzut ekranu przedstawiający sortowanie kolumn.

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:

  1. Otwórz listę rozwijaną po prawej stronie pola wyszukiwania.

  2. Wybierz nowe kryterium.

  3. 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 (:)).

Zrzut ekranu przedstawiający testy filtru w Eksploratorze testów.

Zrzut ekranu przedstawiający testy filtru w Eksploratorze testów.

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ń.
Platformy docelowej 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.

  1. Otwórz domyślne okno dialogowe dźwięku systemu Windows 11 .
  2. Przejdź do karty Dźwięki.
  3. 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.

zrzut ekranu przedstawiający okno dialogowe dźwięku systemu Windows 11.