Jak psát testy jednotek v C# pro lepší kvalitu kódu

Jak Psat Testy Jednotek V C Pro Lepsi Kvalitu Kodu



Když většina z nás začíná jako vývojáři, stěží přemýšlíme nebo nevěnujeme mnoho času testování jednotek. Když se však dostanete do složitějšího a sdíleného prostředí úložiště, je stále důležitější otestovat kód před jeho nasazením do produkce.

Je proto nezbytné získat základy testování jednotek v raných fázích vývoje, abyste se vyhnuli křivce učení při práci s rozsáhlými kódovými základnami.

V tomto tutoriálu vás seznámíme s rámcem testování jednotek pomocí C# a testovací knihovny MSTest. Vytvoříme základní aplikaci, která vám umožní naučit se vytvářet unit testy, jak je spouštět a jak interpretovat výsledky z neúspěchu nebo úspěchu testu.







Testovací prostředí

Začněme diskusí o testovacím řešení a o tom, jak nakonfigurovat naši základní aplikaci.



Chcete-li sledovat a replikovat aplikaci v tomto kurzu, ujistěte se, že máte následující:



  1. Nainstalované Visual Studio
  2. Nakonfigurované nástroje .NET a C# na vašem počítači

Vytvořte aplikaci

Dále otevřete Visual Studio a vytvořte nové řešení. Pro tento tutoriál vytvoříme základní aplikaci kalkulačky. Aplikaci můžete dát libovolným jménem.





Dále vytvořte nový projekt a vyberte typ projektu jako MSTest Test Project a dejte mu libovolný požadovaný název.



Ujistěte se, že jste vybrali „Přidat do řešení“ a vyberte dříve vytvořenou aplikaci.

Měli byste mít hlavní aplikaci a projekt testování jednotky, jak je znázorněno v průzkumníku řešení.

Napište kód pro aplikaci Kalkulačka

Dalším krokem je napsání kódu pro naši aplikaci kalkulačky. Můžeme to udělat v souboru CalcApp „program.cs“.

Protože hledáme základní funkcionalitu, můžeme přidat zdrojový kód následovně:

kalkulačka veřejné třídy
{
veřejnost dvojnásobek Přidat ( dvojnásobek A , dvojnásobek b )
{
vrátit se A + b ;
}

veřejnost dvojnásobek Odčítat ( dvojnásobek A , dvojnásobek b )
{
vrátit se A - b ;
}

veřejnost dvojnásobek Násobit ( dvojnásobek A , dvojnásobek b )
{
vrátit se A * b ;
}

veřejnost dvojnásobek Rozdělit ( dvojnásobek A , dvojnásobek b )
{
-li ( b == 0 )
vyvoláte novou výjimku DivideByZeroException ( ) ;
vrátit se A / b ;
}
}

Jak můžete hádat, předchozí kód vytváří aplikaci kalkulačky, která může provádět základní aritmetické aplikace.

Napište Unit Tests

Jakmile budeme hotovi, můžeme napsat unit testy pro třídu „Kalkulačka“. V tomto případě vše, co musíme udělat, je zapsat testy do souboru „UnitTest“ projektu následovně:

pomocí System ;

jmenný prostor CalcApp
{
kalkulačka veřejné třídy
{
veřejnost dvojnásobek Přidat ( dvojnásobek A , dvojnásobek b )
{
vrátit se A + b ;
}

veřejnost dvojnásobek Odčítat ( dvojnásobek A , dvojnásobek b )
{
vrátit se A - b ;
}

veřejnost dvojnásobek Násobit ( dvojnásobek A , dvojnásobek b )
{
vrátit se A * b ;
}

veřejnost dvojnásobek Rozdělit ( dvojnásobek A , dvojnásobek b )
{
-li ( b == 0 )
vyvolá novou výjimku DivideByZeroException ( ) ;
vrátit se A / b ;
}
}
}

jmenný prostor CalcTest
{
[ TestClass ]
veřejné třídy CalculatorTests
{
soukromá kalkulačka kalkulačka ;

[ TestInitialize ]
veřejnost prázdnota Založit ( )
{
kalkulačka = nová kalkulačka ( ) ;
}

[ Testovací metoda ]
veřejnost prázdnota Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
byl výsledek = kalkulačka. Přidat ( 5 , 5 ) ;
Tvrdit. Jsou rovny ( 10 , výsledek ) ;
}

[ Testovací metoda ]
veřejnost prázdnota Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
byl výsledek = kalkulačka. Odčítat ( 10 , 5 ) ;
Tvrdit. Jsou rovny ( 5 , výsledek ) ;
}

[ Testovací metoda ]
veřejnost prázdnota Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
byl výsledek = kalkulačka. Násobit ( 5 , 5 ) ;
Tvrdit. Jsou rovny ( 25 , výsledek ) ;
}

[ Testovací metoda ]
[ Očekávaná výjimka ( Typ ( Výjimka DivideByZero ) ) ]
veřejnost prázdnota Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
byl výsledek = kalkulačka. Rozdělit ( 5 , 0 ) ;
}

[ Testovací metoda ]
veřejnost prázdnota Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
byl výsledek = kalkulačka. Rozdělit ( 10 , 5 ) ;
Tvrdit. Jsou rovny ( 2 , výsledek ) ;
}
}
}

Závěr

Toto je základní výukový program, který pokrývá základy testování jednotek v C# pomocí rámce MSTest.