Како написати јединичне тестове у Ц# за бољи квалитет кода

Kako Napisati Jedinicne Testove U C Za Boli Kvalitet Koda



Када већина нас почиње као програмери, једва да размишљамо или посвећујемо много времена тестирању јединица. Међутим, када уђете у сложеније и дељено окружење спремишта, постаје све важније да тестирате код пре него што га примените у производњу.

Стога је од суштинског значаја да стекнете основе тестирања јединица у раним фазама развоја како бисте избегли криву учења када се бавите обимним базама кода.

У овом водичу ћемо вас увести у оквир јединичног тестирања користећи Ц# и МСТест библиотеку за тестирање. Направићемо основну апликацију која ће вам омогућити да научите како да креирате јединичне тестове, како да их покренете и како да тумачите резултате неуспеха или успеха теста.







Тестинг Енвиронмент

Хајде да почнемо тако што ћемо разговарати о тестном решењу и како да конфигуришемо нашу основну апликацију.



Да бисте пратили и реплицирали апликацију у овом водичу, уверите се да имате следеће:



  1. Инсталиран Висуал Студио
  2. Конфигурисани .НЕТ и Ц# алати на вашој машини

Креирајте апликацију

Затим отворите Висуал Студио и креирајте ново решење. За овај туторијал направићемо основну апликацију за калкулатор. Апликацији можете дати било које име које желите.





Затим креирајте нови пројекат и изаберите тип пројекта као МСТест Тест Пројецт и дајте му било које жељено име.



Обавезно изаберите „Додај у решење“ и изаберите претходно креирану апликацију.

Требало би да имате главну апликацију и пројекат за тестирање јединица као што је приказано у истраживачу решења.

Напишите код за апликацију Калкулатор

Следећи корак је писање кода за нашу апликацију калкулатора. То можемо да урадимо у датотеци ЦалцАпп „програм.цс“.

Пошто тражимо основну функционалност, можемо додати изворни код на следећи начин:

јавни час Калкулатор
{
јавности дупло Додати ( дупло а , дупло б )
{
повратак а + б ;
}

јавности дупло Одузми ( дупло а , дупло б )
{
повратак а - б ;
}

јавности дупло Помножите ( дупло а , дупло б )
{
повратак а * б ;
}

јавности дупло Подела ( дупло а , дупло б )
{
ако ( б == 0 )
избаци нови изузетак ДивидеБиЗероЕкцептион ( ) ;
повратак а / б ;
}
}

Као што можете претпоставити, претходни код креира апликацију калкулатора која може да изводи основне аритметичке апликације.

Напишите јединичне тестове

Када завршимо, можемо писати јединичне тестове за класу „Калкулатор“. У овом случају, све што треба да урадимо је да напишемо тестове у датотеку „УнитТест“ пројекта на следећи начин:

користећи Систем ;

именски простор ЦалцАпп
{
Калкулатор јавних часова
{
јавности дупло Додати ( дупло а , дупло б )
{
повратак а + б ;
}

јавности дупло Одузми ( дупло а , дупло б )
{
повратак а - б ;
}

јавности дупло Помножите ( дупло а , дупло б )
{
повратак а * б ;
}

јавности дупло Подела ( дупло а , дупло б )
{
ако ( б == 0 )
избаци нови изузетак ДивидеБиЗероЕкцептион ( ) ;
повратак а / б ;
}
}
}

именски простор ЦалцТест
{
[ ТестЦласс ]
јавна класа ЦалцулаторТестс
{
приватни Калкулатор калкулатор ;

[ ТестИнитиализе ]
јавности празнина Подесити ( )
{
калкулатор = нови калкулатор ( ) ;
}

[ Метод тестирања ]
јавности празнина Адд_ТвоПоситивеНумберс_РетурнсЦоррецтСум ( )
{
био је резултат = калкулатор. Додати ( 5 , 5 ) ;
Ассерт. Једнаки ( 10 , резултат ) ;
}

[ Метод тестирања ]
јавности празнина Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
био је резултат = калкулатор. Одузми ( 10 , 5 ) ;
Ассерт. Једнаки ( 5 , резултат ) ;
}

[ Метод тестирања ]
јавности празнина Мултипли_ТвоПоситивеНумберс_РетурнсЦоррецтПродуцт ( )
{
био је резултат = калкулатор. Помножите ( 5 , 5 ) ;
Ассерт. Једнаки ( 25 , резултат ) ;
}

[ Метод тестирања ]
[ ЕкпецтедЕкцептион ( тип ( ДивидеБиЗероЕкцептион ) ) ]
јавности празнина Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
био је резултат = калкулатор. Подела ( 5 , 0 ) ;
}

[ Метод тестирања ]
јавности празнина Дивиде_ТвоПоситивеНумберс_РетурнсЦоррецтКуотиент ( )
{
био је резултат = калкулатор. Подела ( 10 , 5 ) ;
Ассерт. Једнаки ( 2 , резултат ) ;
}
}
}

Закључак

Ово је основни водич који покрива основе тестирања јединица у Ц# користећи МСТест оквир.