Použití tříd Assert pro testování jednotek
K ověření konkrétních funkcí použijte třídy Microsoft.VisualStudio.TestTools.UnitTesting Assert oboru názvů. Metoda testování jednotek provádí cvičení kódu metody v kódu aplikace, ale hlásí správnost chování kódu pouze v případě, že zahrnete příkazy Assert.
Druhy kontrolních výrazů
Obor Microsoft.VisualStudio.TestTools.UnitTesting názvů poskytuje několik druhů tříd Assert.
V testovací metodě můžete volat jakékoli metody Microsoft.VisualStudio.TestTools.UnitTesting.Assert třídy, například Assert.AreEqual. Třída Assert má mnoho metod, ze kterých si můžete vybrat, a mnoho metod má několik přetížení.
Porovnání řetězců a kolekcí
CollectionAssert Třída slouží k porovnání kolekcí objektů nebo k ověření stavu kolekce.
StringAssert Pomocí třídy můžete porovnávat a zkoumat řetězce. Tato třída obsahuje řadu užitečných metod, jako StringAssert.Containsje , StringAssert.Matchesa StringAssert.StartsWith.
Výjimky
Výjimka AssertFailedException se vyvolá při selhání testu. Test selže, pokud vyprší časový limit, vyvolá neočekávanou výjimku nebo obsahuje příkaz assert, který vytvoří výsledek selhání .
Vyvolá se AssertInconclusiveException pokaždé, když test vytvoří výsledek nevýznamné. Obvykle do testu, na který stále pracujete, přidáte Assert.Inconclusive příkaz, který indikuje, že ještě není připravený ke spuštění.
Poznámka:
Alternativní strategií je označit test, který není připravený ke spuštění s atributem IgnoreAttribute . To má ale nevýhodu, že nemůžete snadno vygenerovat sestavu o počtu testů, které nejsou implementovány.
Pokud napíšete novou třídu výjimky assert, dědí ze základní třídy UnitTestAssertException , aby bylo snazší identifikovat výjimku jako selhání kontrolního výrazu místo neočekávané výjimky vyvolané z testovacího nebo produkčního kódu.
Pokud chcete ověřit, že je vyvolán výjimka, kterou očekáváte metodou v kódu aplikace, je skutečně vyvolán, použijte metodu Assert.ThrowsException .