Sdílet prostřednictvím


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 .

Viz také