Kā uzrakstīt vienību testus C#, lai uzlabotu koda kvalitāti

Ka Uzrakstit Vienibu Testus C Lai Uzlabotu Koda Kvalitati



Kad vairums no mums sāk darboties kā izstrādātāji, mēs gandrīz nedomājam vai veltām daudz laika vienību testēšanai. Tomēr, nonākot sarežģītākā un koplietotākā repozitorija vidē, kļūst arvien svarīgāk pārbaudīt kodu pirms tā izvietošanas ražošanā.

Tāpēc ir svarīgi apgūt vienību testēšanas pamatus agrīnā izstrādes stadijā, lai izvairītos no mācīšanās līknes, strādājot ar plašām kodu bāzēm.

Šajā apmācībā mēs jūs iepazīstināsim ar vienību testēšanas sistēmu, izmantojot C# un MSTest testēšanas bibliotēku. Mēs izveidosim pamata lietojumprogrammu, kas ļaus jums uzzināt, kā izveidot vienību testus, kā tos palaist un kā interpretēt testa neveiksmes vai veiksmes rezultātus.







Testēšanas vide

Sāksim ar testa risinājumu un to, kā konfigurēt mūsu pamata lietojumprogrammu.



Lai sekotu un atkārtotu lietojumprogrammu šajā apmācībā, pārliecinieties, vai jums ir:



  1. Instalēta Visual Studio
  2. Jūsu datorā ir konfigurēti .NET un C# rīki

Izveidojiet lietojumprogrammu

Pēc tam atveriet Visual Studio un izveidojiet jaunu risinājumu. Šai apmācībai mēs izveidosim pamata kalkulatora lietojumprogrammu. Jūs varat dot pieteikumu ar jebkuru nosaukumu, kuru vēlaties.





Pēc tam izveidojiet jaunu projektu un atlasiet projekta veidu kā MSTest Test Project un piešķiriet tam jebkuru vēlamo nosaukumu.



Noteikti atlasiet “Pievienot risinājumam” un izvēlieties iepriekš izveidoto lietotni.

Jums ir jābūt galvenajai lietojumprogrammai un vienības testēšanas projektam, kā parādīts risinājumu pārlūkā.

Uzrakstiet kalkulatora lietojumprogrammas kodu

Nākamais solis ir mūsu kalkulatora lietojumprogrammas koda rakstīšana. Mēs to varam izdarīt CalcApp “program.cs” failā.

Tā kā mēs meklējam pamata funkcionalitāti, mēs varam pievienot avota kodu šādi:

publiskās klases Kalkulators
{
publiski dubultā Pievienot ( dubultā a , dubultā b )
{
atgriezties a + b ;
}

publiski dubultā Atņemt ( dubultā a , dubultā b )
{
atgriezties a - b ;
}

publiski dubultā Pavairot ( dubultā a , dubultā b )
{
atgriezties a * b ;
}

publiski dubultā Sadaliet ( dubultā a , dubultā b )
{
ja ( b == 0 )
mest jaunu DivideByZeroException ( ) ;
atgriezties a / b ;
}
}

Kā jūs varat uzminēt, iepriekšējais kods izveido kalkulatora lietotni, kas var veikt pamata aritmētikas lietojumprogrammas.

Uzrakstiet vienību testus

Kad esam pabeiguši, varam uzrakstīt vienību testus klasei “Kalkulators”. Šajā gadījumā viss, kas mums jādara, ir jāieraksta testi projekta failā “UnitTest” šādi:

izmantojot sistēmu ;

nosaukumtelpa CalcApp
{
publiskās klases Kalkulators
{
publiski dubultā Pievienot ( dubultā a , dubultā b )
{
atgriezties a + b ;
}

publiski dubultā Atņemt ( dubultā a , dubultā b )
{
atgriezties a - b ;
}

publiski dubultā Pavairot ( dubultā a , dubultā b )
{
atgriezties a * b ;
}

publiski dubultā Sadaliet ( dubultā a , dubultā b )
{
ja ( b == 0 )
mest jaunu DivideByZeroException ( ) ;
atgriezties a / b ;
}
}
}

nosaukumtelpa CalcTest
{
[ TestClass ]
publiskās klases KalkulatorsPārbaudes
{
privāts kalkulators kalkulators ;

[ Pārbaudīt inicializāciju ]
publiski nederīgs Uzstādīt ( )
{
kalkulators = jauns kalkulators ( ) ;
}

[ Pārbaudes metode ]
publiski nederīgs Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
bija rezultāts = kalkulators. Pievienot ( 5 , 5 ) ;
Apliecināt. AreEqual ( 10 , rezultāts ) ;
}

[ Pārbaudes metode ]
publiski nederīgs Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
bija rezultāts = kalkulators. Atņemt ( 10 , 5 ) ;
Apliecināt. AreEqual ( 5 , rezultāts ) ;
}

[ Pārbaudes metode ]
publiski nederīgs Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
bija rezultāts = kalkulators. Pavairot ( 5 , 5 ) ;
Apliecināt. AreEqual ( 25 , rezultāts ) ;
}

[ Pārbaudes metode ]
[ ParedzamsIzņēmums ( veids ( DivideByZeroException ) ) ]
publiski nederīgs Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
bija rezultāts = kalkulators. Sadaliet ( 5 , 0 ) ;
}

[ Pārbaudes metode ]
publiski nederīgs Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
bija rezultāts = kalkulators. Sadaliet ( 10 , 5 ) ;
Apliecināt. AreEqual ( 2 , rezultāts ) ;
}
}
}

Secinājums

Šī ir pamata apmācība, kas aptver vienību testēšanas pamatus C#, izmantojot MSTest sistēmu.