Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek představuje koncept testování a ukazuje, jak lze k ověření kódu použít různé druhy testů. K dispozici jsou různé nástroje pro testování .NET aplikací, jako jsou .NET CLI nebo Integrovaná vývojová prostředí (IDEs).
Typy testů
Automatizované testy představují skvělý způsob, jak zajistit, aby kód aplikace udělal to, co jeho autoři mají v úmyslu. Tento článek popisuje testy jednotek, integrační testy a zátěžové testy.
Jednotkové testy
Jednotkový test je test, který testuje jednotlivé softwarové komponenty nebo metody, označované také jako "jednotka práce". Jednotkové testy by měly testovat pouze kód v rámci kontroly vývojáře. Netestují obavy o infrastruktuře. Mezi aspekty infrastruktury patří interakce s databázemi, systémy souborů a síťovými prostředky.
Další informace o vytváření jednotkových testů viz téma Testovací nástroje.
Integrační testy
Integrační test se liší od jednotkového testu tím, že prověřuje schopnost dvou nebo více softwarových komponent fungovat společně, také známé jako jejich "integrace". Tyto testy pracují s širším spektrem systému, který se testuje, zatímco jednotkové testy se zaměřují na jednotlivé komponenty. Integrační testy často zahrnují obavy o infrastrukturu.
Zátěžové testy
Cílem zátěžového testu je určit, zda systém dokáže zpracovat zadané zatížení. Například počet souběžných uživatelů používajících aplikaci a schopnost aplikace reagovat na interakce. Další informace o zátěžových testování webových aplikací najdete v tématu ASP.NET Core zátěžové testování.
Aspekty testování
Mějte na paměti, že existují osvědčené postupy pro psaní testů. Například Test Driven Development (TDD) je, když napíšete jednotkový test před napsáním kódu, který má být testován. TDD je jako vytvoření osnovy pro knihu před tím, než ji napíšete. Test jednotek pomáhá vývojářům psát jednodušší, čitelný a efektivní kód.
Testovací nástroje
Při spouštění testů v .NET existují dvě komponenty: testovací platforma a testovací architektura.
Testovací platformy
Testovací platforma je modul, který spouští testy a komunikuje s nástroji, jako jsou IDEs a rozhraní příkazového řádku.
Přehled testovacích platforem vám umožní pochopit rozdíly mezi VSTest a Microsoft.Testing.Platform a zvolit nejlepší platformu pro váš scénář.
Pokyny k migraci najdete v tématu Migrace z VSTest na Microsoft.Testing.Platform.
Testovací architektury
Testovací rámec je postavený na testovací platformě. Definuje sadu atributů a rozhraní API, která jsou pro vás k dispozici jako testovací autor. Obvykle je poháněn testovacím adaptérem, který funguje jako komunikační vrstva mezi testovací architekturou a testovací platformou. Oblíbené testovací architektury jsou MSTest, NUnit, TUnit a xUnit.net.
MSTest
MSTest je testovací architektura Microsoftu pro všechny jazyky .NET. Je rozšiřitelný a funguje s rozhraním příkazového řádku .NET, Visual Studio, kódem Visual Studio a riderem. Podporuje VSTest i Microsoft.Testing.Platform.
Další informace najdete v následujících zdrojích informací:
NUnit
NUnit je architektura testování jednotek pro všechny jazyky .NET. NUnit byl zpočátku portován z JUnit a aktuální produkční verze byla přepsána s mnoha novými funkcemi a podporou široké škály .NET platforem. Je to projekt nadace .NET. Podporuje VSTest i Microsoft.Testing.Platform.
Další informace najdete v následujících zdrojích informací:
- Podpora Microsoft.Testing.Platform v NUnit (NUnit runner)
- Jednotkové testování v C#
- testování jednotek pomocí jazyka F#
- testování jednotek s Visual Basic
TUnit
TUnit je zcela postaven na platformě Microsoft.Testing.Platform a nepodporuje VSTest. Další informace najdete v dokumentaci k jednotce TUnit.
xUnit.net
xUnit.net je bezplatný opensourcový nástroj pro testování jednotek zaměřený na komunitu pro .NET. Původní vynálezce NUnit v2 napsal xUnit.net. xUnit.net je nejnovější technologie pro testování jednotek .NET aplikací. Funguje také s ReSharperem, CodeRush a TestDriven.NET. xUnit.net je project nadace .NET a funguje podle jejího pravidla chování. Podporuje VSTest i Microsoft.Testing.Platform.
Další informace najdete v následujících zdrojích informací:
- Podpora platformy Microsoft.Testing v xUnit.net v3
- Jednotkové testování v C#
- testování jednotek pomocí jazyka F#
- Jednotkové testování s Visual Basic
Spouštění testů
.NET CLI
Testy jednotek můžete spustit ze všech testovacích projektů v řešení pomocí příkazu .NET CLI pomocí příkazu dotnet test. Rozhraní příkazového řádku .NET poskytuje většinu funkcí, které Integrovaná vývojová prostředí (IDE) zpřístupňují prostřednictvím uživatelských rozhraní. Rozhraní příkazového řádku .NET je dostupné pro různé platformy a je k dispozici jako součást průběžné integrace a doručování pipelines. Rozhraní příkazového řádku .NET se používá se skriptovanými procesy k automatizaci běžných úloh.
integrované vývojové prostředí (IDE)
Bez ohledu na to, jestli používáte Visual Studio, Visual Studio Code nebo Rider, existují grafická uživatelská rozhraní pro testování funkcí. Pro IDE je k dispozici více funkcí než pro rozhraní příkazového řádku, například Live Unit Testing. Další informace najdete v tématu Zařování a vyloučení testů s Visual Studio.
Viz také
Další informace najdete v následujících článcích:
- osvědčené postupy pro jednotkové testování s využitím .NET
- Integrační testy v ASP.NET Core
- Spouštění selektivních testů jednotek
- Použijte pokrytí kódu pro jednotkové testování