Водич за ПиУнит: Оквир за тестирање Питхон јединице (са примером)

Преглед садржаја:

Anonim

Шта је јединствено тестирање?

Јединствено тестирање у Питхону врши се ради идентификовања грешака у раној фази развоја апликације када се грешке мање понављају и јефтиније исправљају.

Јединствени тест је скриптирани тест нивоа кода дизајниран у Питхону да верификује малу „јединицу“ функционалности. Јединствени тест је објектно оријентисани оквир заснован на тест уређајима.

Питхон Технике јединственог тестирања

Питхон Унит Тестирање углавном укључује тестирање одређеног модула без приступа било ком зависном коду. Програмери могу да користе технике као што су клице и лажне поруке да одвоје код у „јединице“ и покрену тестирање нивоа јединице на појединачним деловима.

  • Тест-Дривен Девелопмент ТДД: Јединствено тестирање треба обавити заједно са Питхоном, а за то програмери користе тест-Дривен Девелопмент методу. У ТДД методи прво дизајнирате Питхон Унит тестове, а тек онда настављате са писањем кода који ће применити ову функцију.
  • Стубс анд Моцкс: То су две главне технике које симулирају лажне методе које се тестирају. Стуб се користи за пуњење у некој зависности потребан за јединицу теста да би радио коректно. Лажно са друге стране је објекат лажни који води тестове где смо ставили тврдити.

    Намере обе методе су исте да би се елиминисало тестирање свих зависности класе или функције.

Питхон Унит Тестинг Фрамеворк

Да бисте олакшали поступак јединственог тестирања и побољшали квалитет вашег пројекта, препоручује се Питхон Унит Тестинг Фрамеворк. Оквир за јединствено тестирање укључује

  • ПиУнит: ПиУнит подржава уређаје, тест случајеве, тест пакете и тест руннер за аутоматско тестирање кода. У ПиУнит-у можете да организујете тест случајеве у апартмане са истим уређајима
  • Нос: Носеови уграђени додаци помажу вам у хватању излаза, покривању кода, доцтестима итд. Синтакса носа је прилично једноставнија и смањује препреке за писање тестова. Проширује Питхон униттест да би олакшао тестирање.
  • Доцтест: Скрипта за тестирање Доцтест иде у доцстрингу са малом функцијом на дну датотеке. Доцтест вам омогућава да тестирате свој код покретањем примера укључених у документацију и провером да ли су вратили очекиване резултате. Случај употребе доцтест је мање детаљан и не узима у обзир посебне случајеве. Корисни су као изражајна документација о главном случају употребе модула и његових компоненти.

Јединствено тестирање са ПиУнит-ом

Пиунит је Питхон лука ЈУнит-а. Као део Пиунита, у униттест модулу постоји пет кључних класа.

  • Класа ТестЦасе: Класа ТестЦасе носи тест рутине и испоручује куке за израду сваке рутине и чишћење након тога
  • Класа ТестСуите : Служи као контејнер за прикупљање и може да поседује више објеката тестцасе и више објеката тестсуитес
  • Класа ТестЛоадер : Ова класа учитава тестове и пакете дефинисане локално или из спољне датотеке. Емитује предмете за тестирање који поседују те апартмане и случајеве
  • Класа ТектТестРуннер : За покретање тестова задовољава стандардну платформу за извршавање тестова
  • Класа ТестРесултс : Нуди стандардни спремник за резултате теста

Дизајнирање тест случаја за Питхон тестирање помоћу ПиУнит-а

Јединствени тест пружа основну класу, тест случај, који се може користити за стварање нових тест случајева. За дизајнирање тест случаја постоје три сета метода која се користе

униттест.ТестЦасе

setUp()teardown()skipTest(aMesg:string)fail(aMesg:string)id():stringshortDescription():string

У првом сету су куке пре и после теста. Метод сетуп () започиње пре сваке тест рутине, уклањање () након рутине.

Други скуп метода контролише извршење теста. Обе методе узимају низ порука као улаз и обе отказују текући тест. Али метода скиптест () прекида тренутни тест док метода фаил () у потпуности заказује.

Последња или трећа метода помажу у одређивању теста. Метода ид () враћа низ који се састоји од имена објекта тестцасе и рутине теста. А метода схортДесцриптион () враћа коментар доцстр на почетку сваке рутине теста.

Предности коришћења Питхон Унит тестирања

  • Помаже вам да откријете грешке на почетку развојног циклуса
  • Помаже вам у писању бољих програма
  • Лако се синхронизује са другим методама и алатима за тестирање
  • Имаће много мање грешака
  • Лакше је модификовати у будућности са врло мање последица