Seetõttu on oluline omandada ühikutestimise põhialused juba oma arendusfaasis, et vältida õppimiskõverat ulatuslike koodibaasidega tegelemisel.
Selles õpetuses tutvustame teile ühikutestimise raamistikku, kasutades C# ja MSTesti testimise teeki. Ehitame põhirakenduse, mis võimaldab teil õppida, kuidas luua ühikuteste, kuidas neid käivitada ja kuidas tõlgendada testi ebaõnnestumise või õnnestumise tulemusi.
Testimiskeskkond
Alustuseks arutleme testlahenduse ja põhirakenduse konfigureerimise üle.
Selles õpetuses oleva rakenduse jälgimiseks ja kopeerimiseks veenduge, et teil on järgmised asjad.
- Installitud Visual Studio
- Teie masinas on konfigureeritud .NET ja C# tööriistad
Looge rakendus
Järgmisena avage Visual Studio ja looge uus lahendus. Selle õpetuse jaoks koostame lihtsa kalkulaatorirakenduse. Saate anda taotluse mis tahes soovitud nimega.
Järgmisena looge uus projekt ja valige projekti tüübiks MSTest Test Project ja andke sellele soovitud nimi.
Valige kindlasti 'Lisa lahendusele' ja valige varem loodud rakendus.
Teil peaks olema põhirakendus ja üksuse testimise projekt, nagu on näidatud lahenduste uurijas.
Kirjutage kalkulaatorirakenduse kood
Järgmine samm on meie kalkulaatorirakenduse koodi kirjutamine. Seda saame teha failis CalcApp “program.cs”.
Kuna otsime põhifunktsioone, saame lähtekoodi lisada järgmiselt:
avalik klass Kalkulaator{
avalik kahekordne Lisama ( kahekordne a , kahekordne b )
{
tagasi a + b ;
}
avalik kahekordne Lahutage ( kahekordne a , kahekordne b )
{
tagasi a - b ;
}
avalik kahekordne Korrutada ( kahekordne a , kahekordne b )
{
tagasi a * b ;
}
avalik kahekordne Jaga ( kahekordne a , kahekordne b )
{
kui ( b == 0 )
visake uus DivideByZeroException ( ) ;
tagasi a / b ;
}
}
Nagu võite arvata, loob eelmine kood kalkulaatorirakenduse, mis suudab täita põhilisi aritmeetikarakendusi.
Kirjutage ühikutestid
Kui oleme valmis, saame kirjutada ühikutestid klassi “Kalkulaator” jaoks. Sel juhul ei pea muud tegema, kui kirjutama testid projekti faili “UnitTest” järgmiselt:
süsteemi kasutades ;nimeruum CalcApp
{
avalik klass Kalkulaator
{
avalik kahekordne Lisama ( kahekordne a , kahekordne b )
{
tagasi a + b ;
}
avalik kahekordne Lahutage ( kahekordne a , kahekordne b )
{
tagasi a - b ;
}
avalik kahekordne Korrutada ( kahekordne a , kahekordne b )
{
tagasi a * b ;
}
avalik kahekordne Jaga ( kahekordne a , kahekordne b )
{
kui ( b == 0 )
visake uus DivideByZeroException ( ) ;
tagasi a / b ;
}
}
}
nimeruum CalcTest
{
[ Testklass ]
avalik klass KalkulaatorTestid
{
privaatne kalkulaator ;
[ Testimine initsialiseeri ]
avalik tühine Seadistamine ( )
{
kalkulaator = uus kalkulaator ( ) ;
}
[ Testimis viis ]
avalik tühine Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
oli tulemus = kalkulaator. Lisama ( 5 , 5 ) ;
Kinnitage. AreEqual ( 10 , tulemus ) ;
}
[ Testimis viis ]
avalik tühine Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
oli tulemus = kalkulaator. Lahutage ( 10 , 5 ) ;
Kinnitage. AreEqual ( 5 , tulemus ) ;
}
[ Testimis viis ]
avalik tühine Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
oli tulemus = kalkulaator. Korrutada ( 5 , 5 ) ;
Kinnitage. AreEqual ( 25 , tulemus ) ;
}
[ Testimis viis ]
[ Eeldatav erand ( tüüp ( DivideByZeroException ) ) ]
avalik tühine Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
oli tulemus = kalkulaator. Jaga ( 5 , 0 ) ;
}
[ Testimis viis ]
avalik tühine Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
oli tulemus = kalkulaator. Jaga ( 10 , 5 ) ;
Kinnitage. AreEqual ( 2 , tulemus ) ;
}
}
}
Järeldus
See on põhiõpetus, mis hõlmab C#-i ühikutestimise põhialuseid, kasutades MSTesti raamistikku.