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:
- Instaliran Visual Studio
- 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.