Kuidas kirjutada ühikuteste C# keeles parema koodikvaliteedi saavutamiseks

Kuidas Kirjutada Uhikuteste C Keeles Parema Koodikvaliteedi Saavutamiseks



Kui enamik meist alustab arendajana, ei mõtle me üksuse testimisele ega pühendame palju aega. Kui aga jõuate keerukamasse ja jagatud hoidlakeskkonda, muutub koodi testimine enne selle tootmisse juurutamist üha olulisemaks.

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.



  1. Installitud Visual Studio
  2. 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.