Udostępnij za pośrednictwem


Testowanie na platformie .NET

W tym artykule przedstawiono koncepcję testowania i pokazano, jak różne rodzaje testów mogą służyć do weryfikowania kodu. Dostępne są różne narzędzia do testowania aplikacji .NET, takie jak narzędzie wiersza poleceń .NET lub Zintegrowane Środowiska Programistyczne (IDE).

Typy testów

Testy automatyczne to doskonały sposób na upewnienie się, że kod aplikacji robi to, co zamierzają jej autorzy. W tym artykule opisano testy jednostkowe, testy integracji i testy obciążeniowe.

Testy jednostkowe

Test jednostkowy to test, który sprawdza poszczególne składniki lub metody oprogramowania, znane również jako "jednostki". Testy jednostkowe powinny testować tylko kod będący pod kontrolą dewelopera. Nie testują problemów z infrastrukturą. Kwestie dotyczące infrastruktury obejmują interakcję z bazami danych, systemami plików i zasobami sieciowymi.

Aby uzyskać więcej informacji na temat tworzenia testów jednostkowych, zobacz Testing tools.

Testy integracji

Test integracji różni się od testu jednostkowego tym, że testuje zdolność do współpracy dwóch lub więcej składników oprogramowania, co jest również nazywane ich "integracją". Testy te działają na szerszym spektrum systemu poddanego testowi, podczas gdy testy jednostkowe koncentrują się na poszczególnych składnikach. Często testy integracji obejmują problemy z infrastrukturą.

Testy obciążeniowe

Test obciążeniowy ma na celu określenie, czy system jest w stanie obsłużyć określone obciążenie. Na przykład liczba równoczesnych użytkowników korzystających z aplikacji i możliwość dynamicznego obsługiwania interakcji. Aby uzyskać więcej informacji na temat testowania obciążenia aplikacji internetowych, zobacz ASP.NET Core load/stress testing.

Zagadnienia dotyczące testowania

Należy pamiętać, że istnieją najlepsze rozwiązania do pisania testów. Na przykład Test Driven Development (TDD) jest to pisanie testu jednostkowego przed kodem, który ma sprawdzić dany kod. TDD jest jak tworzenie konspektu dla książki przed jej napisaniem. Test jednostkowy ułatwia deweloperom pisanie prostszego, czytelnego i wydajnego kodu.

Narzędzia do testowania

Podczas uruchamiania testów w .NET istnieją dwa składniki: platforma testowa i framework testowy.

Platformy testowe

Platforma testowa to aparat, który uruchamia testy i działa jako kanał komunikacyjny z środowiskami IDE. Na przykład program Visual Studio może wysłać żądanie odnajdywania do platformy testowej, aby można było wyświetlić dostępne testy w Eksploratorze testów. Platforma testowa odpowiada do IDE z testami, które znalazła. Podobna komunikacja odbywa się na potrzeby wykonywania testów.

Program VSTest był używany przez wiele lat na platformie .NET i był jedyną platformą testowa w ekosystemie. Na początku 2024 r. wydano pierwszą stabilną wersję nowej platformy testowej o nazwie Microsoft.Testing.Platform (MTP).

Struktury testowe

Ramy testowe są zbudowane na platformie testowej. Definiuje zestaw atrybutów i interfejsów API, które są dostępne dla Ciebie jako autor testów. Zwykle jest zasilany przez adapter testowy, który działa jako warstwa komunikacji między frameworkiem testowym a platformą testową. Popularne struktury testów to MSTest, NUnit, TUnit i xUnit.net.

MSTest

msTest to platforma testowa firmy Microsoft dla wszystkich języków platformy .NET. Jest rozszerzalny i współdziała z interfejsem wiersza polecenia platformy .NET, programem Visual Studio, programem Visual Studio Code i aplikacją Rider. Obsługuje zarówno programy VSTest, jak i Microsoft.Testing.Platform.

Aby uzyskać więcej informacji, zobacz następujące zasoby:

NUnit

NUnit to struktura testowania jednostkowego dla wszystkich języków platformy .NET. Początkowo NUnit został przeniesiony z JUnit, a obecna wersja produkcyjna została przepisana z wieloma nowymi funkcjami i obsługą szerokiej gamy platform .NET. Jest to projekt .NET Foundation. Obsługuje zarówno programy VSTest, jak i Microsoft.Testing.Platform.

Aby uzyskać więcej informacji, zobacz następujące zasoby:

TUnit

TUnit jest całkowicie oparta na platformie Microsoft.Testing.Platform i nie obsługuje narzędzia VSTest. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją narzędzia TUnit.

xUnit.net

xUnit.net to bezpłatne, skoncentrowane na społeczności narzędzie do testowania jednostkowego typu open source dla platformy .NET. Oryginalny wynalazca NUnit v2 napisał xUnit.net. xUnit.net to najnowsza technologia do testowania jednostkowego aplikacji .NET. Działa również z programem ReSharper, CodeRush i TestDriven.NET. xUnit.net jest projektem .NET Foundation i działa zgodnie z kodeksem postępowania. Obsługuje zarówno programy VSTest, jak i Microsoft.Testing.Platform

Aby uzyskać więcej informacji, zobacz następujące zasoby:

Uruchamianie testów

CLI .NET

Testy jednostkowe można uruchamiać ze wszystkich projektów testowych w rozwiązaniu przy użyciu interfejsu wiersza polecenia platformy .NET za pomocą polecenia dotnet test. Interfejs wiersza polecenia platformy .NET uwidacznia większość funkcji, które zintegrowane środowiska projektowe (IDE) udostępniane za pośrednictwem interfejsów użytkownika. Interfejs wiersza polecenia platformy .NET jest międzyplatformowy i dostępny do użycia w ramach potoków ciągłej integracji i dostarczania. Interfejs wiersza polecenia platformy .NET jest wykorzystywany z procesami skryptowymi do automatyzacji typowych zadań.

IDE

Niezależnie od tego, czy używasz programów Visual Studio, Visual Studio Code, czy Rider, istnieją graficzne interfejsy użytkownika do testowania funkcji. Istnieje więcej funkcji dostępnych dla IDE niż interfejsu wiersza poleceń, na przykład testy jednostkowe na żywo. Aby uzyskać więcej informacji, zobacz Dołączanie i wykluczanie testów z programem Visual Studio.

Zobacz też

Aby uzyskać więcej informacji, zobacz następujące artykuły: