Kako napisati jedinične testove u C# za bolju kvalitetu koda

Kako Napisati Jedinicne Testove U C Za Bolju Kvalitetu Koda



Kada većina nas počinje kao programeri, jedva razmišljamo ili posvećujemo puno vremena jediničnom testiranju. Međutim, kada uđete u složenije i dijeljeno okruženje repozitorija, postaje sve važnije testirati kod prije nego što ga postavite u proizvodnju.

Stoga je bitno usvojiti osnove jediničnog testiranja rano u razvojnim fazama kako biste izbjegli krivulju učenja pri radu s opsežnim bazama koda.

U ovom vodiču uvest ćemo vas u okvir jediničnog testiranja koristeći C# i biblioteku za testiranje MSTest. Napravit ćemo osnovnu aplikaciju koja će vam omogućiti da naučite kako izraditi jedinične testove, kako ih pokrenuti i kako interpretirati rezultate neuspjeha ili uspjeha testa.







Okruženje za testiranje

Započnimo raspravom o testnom rješenju i načinu konfiguriranja naše osnovne aplikacije.



Da biste slijedili i replicirali aplikaciju u ovom vodiču, osigurajte da imate sljedeće:



  1. Instaliran Visual Studio
  2. Konfigurirani .NET i C# alati na vašem računalu

Napravite aplikaciju

Zatim otvorite Visual Studio i izradite novo rješenje. Za ovaj vodič izradit ćemo osnovnu aplikaciju kalkulatora. Aplikaciji možete dati bilo koje ime koje želite.





Zatim stvorite novi projekt i odaberite vrstu projekta kao MSTest Test Project i dajte mu željeni naziv.



Obavezno odaberite 'Dodaj u rješenje' i odaberite prethodno stvorenu aplikaciju.

Trebali biste imati glavnu aplikaciju i projekt jediničnog testiranja kao što je prikazano u pregledniku rješenja.

Napišite kod za aplikaciju Kalkulator

Sljedeći korak je pisanje koda za našu aplikaciju kalkulatora. To možemo učiniti u datoteci CalcApp “program.cs”.

Budući da tražimo osnovnu funkcionalnost, možemo dodati izvorni kod na sljedeći način:

javna klasa Kalkulator
{
javnost dvostruko Dodati ( dvostruko a , dvostruko b )
{
povratak a + b ;
}

javnost dvostruko Oduzeti ( dvostruko a , dvostruko b )
{
povratak a - b ;
}

javnost dvostruko Pomnožiti ( dvostruko a , dvostruko b )
{
povratak a * b ;
}

javnost dvostruko Podijeliti ( dvostruko a , dvostruko b )
{
ako ( b == 0 )
izbaci novu iznimku DivideByZeroException ( ) ;
povratak a / b ;
}
}

Kao što možete pretpostaviti, prethodni kod stvara aplikaciju kalkulatora koja može izvoditi osnovne aritmetičke aplikacije.

Napišite jedinične testove

Kada završimo, možemo napisati jedinične testove za razred 'Kalkulator'. U ovom slučaju, sve što trebamo učiniti je napisati testove u datoteku 'UnitTest' projekta na sljedeći način:

pomoću sustava ;

imenski prostor CalcApp
{
javna klasa Kalkulator
{
javnost dvostruko Dodati ( dvostruko a , dvostruko b )
{
povratak a + b ;
}

javnost dvostruko Oduzeti ( dvostruko a , dvostruko b )
{
povratak a - b ;
}

javnost dvostruko Pomnožiti ( dvostruko a , dvostruko b )
{
povratak a * b ;
}

javnost dvostruko Podijeliti ( dvostruko a , dvostruko b )
{
ako ( b == 0 )
izbaci novu iznimku DivideByZeroException ( ) ;
povratak a / b ;
}
}
}

imenski prostor CalcTest
{
[ TestClass ]
javna klasa CalculatorTests
{
privatni kalkulator kalkulator ;

[ TestInitialize ]
javnost poništiti Postaviti ( )
{
kalkulator = novi kalkulator ( ) ;
}

[ Metoda ispitivanja ]
javnost poništiti Dodaj_DvaPozitivnaBroja_VraćaTočan Zbroj ( )
{
bio je rezultat = kalkulator. Dodati ( 5 , 5 ) ;
Tvrditi. Su jednaki ( 10 , proizlaziti ) ;
}

[ Metoda ispitivanja ]
javnost poništiti Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
bio je rezultat = kalkulator. Oduzeti ( 10 , 5 ) ;
Tvrditi. Su jednaki ( 5 , proizlaziti ) ;
}

[ Metoda ispitivanja ]
javnost poništiti Množenje_DvaPozitivnaBroja_VraćaTočanProdukt ( )
{
bio je rezultat = kalkulator. Pomnožiti ( 5 , 5 ) ;
Tvrditi. Su jednaki ( 25 , proizlaziti ) ;
}

[ Metoda ispitivanja ]
[ ExpectedException ( vrsta ( DivideByZeroException ) ) ]
javnost poništiti Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
bio je rezultat = kalkulator. Podijeliti ( 5 , 0 ) ;
}

[ Metoda ispitivanja ]
javnost poništiti Dijeli_DvaPozitivnaBroja_Vraća Točan Kvocijent ( )
{
bio je rezultat = kalkulator. Podijeliti ( 10 , 5 ) ;
Tvrditi. Su jednaki ( 2 , proizlaziti ) ;
}
}
}

Zaključak

Ovo je osnovni vodič koji pokriva osnove jediničnog testiranja u C# pomoću okvira MSTest.