Udostępnij za pośrednictwem


Testowanie w .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, takich jak .NET interfejs wiersza polecenia lub Integrated Development Environments (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 komunikuje się z narzędziami, takimi jak środowiska IDE i interfejs wiersza polecenia.

Zapoznaj się z omówieniem platform testowych , aby zrozumieć różnice między narzędziami VSTest i Microsoft.Testing.Platform i wybrać najlepszą platformę dla danego scenariusza.

Aby uzyskać wskazówki dotyczące migracji, zobacz Migrowanie z programu VSTest do microsoft.Testing.Platform.

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 .NET. Jest rozszerzalny i współpracuje z interfejsem wiersza polecenia .NET, Visual Studio, Visual Studio Code i 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 .NET. Początkowo NUnit został przeniesiony z JUnit, a aktualna wersja produkcyjna została całkowicie przepisana z wieloma nowymi funkcjami i obsługą szerokiego zakresu 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 zbudowany 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 przeznaczone do .NET. Oryginalny wynalazca NUnit v2 napisał xUnit.net. xUnit.net to najnowsza technologia testowania jednostkowego .NET aplikacji. Działa również z usługami ReSharper, CodeRush i TestDriven.NET. xUnit.net jest projektem .NET Foundation i działa zgodnie z jego 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

interfejs wiersza polecenia .NET

Testy jednostkowe można uruchamiać ze wszystkich projektów testowych w rozwiązaniu przy użyciu .NET CLI z dotnet test. Interfejs wiersza polecenia .NET udostępnia większość funkcji, które oferują Zintegrowane Środowiska Programistyczne (IDE) za pośrednictwem interfejsów użytkownika. Interfejs wiersza poleceń .NET jest międzyplatformowy i dostępny do używania w procesach ciągłej integracji i dostarczania. Interfejs wiersza polecenia .NET jest używany z procesami skryptowymi do automatyzowania typowych zadań.

IDE

Niezależnie od tego, czy używasz 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 w Visual Studio.

Zobacz też

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