Како да подесите и покренете свој први Питхон тест са Питест-ом

Како да подесите и покренете свој први Питхон тест са Питест-ом
Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Тестирање је суштински део развоја софтвера. Помаже у раном откривању грешака и смањује вероватноћу грешака у наставку.





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





МАКЕУСЕОФ ВИДЕО ДАНА ПОМЕРИТЕ ДА БИСТЕ НАСТАВИЛИ СА САДРЖАЈЕМ

Подешавање Питест-а

Пре инсталирања Питест-а, најбоље је да створити виртуелно окружење да изолујете своје тестно окружење, тако да можете да избегнете сукобе са другим пакетима и зависностима.





Да бисте креирали виртуелно окружење, покрените следећу команду пре инсталирања Питест-а.

072ББ976БЦ832Ц332Б40ДФ2737Ц75ФЦ884200Е53

Ово ће креирати ново виртуелно окружење под називом тестови у вашем тренутном директоријуму. Да бисте активирали окружење, покрените ову команду ако користите Линук или Мац:



7Б0ФЕ0ЕБДФ77857ФД6АЦА724БЦБ8Б12ФАБДЕ5Ф48

За Виндовс, покрените ову команду:

телефон се неће појавити на рачунару
9АЕ3А4ДЕ491Ф289Е787Ф9ЦД891947Ц82464Е0БДД

Да бисте инсталирали Питест, можете користити пип, Питхон менаџер пакета, са овом командом у вашем терминалу:





АД5Д0Ф2ЦБ01Е9469Ц34928АЦЕ3Б14ЕА6455Б051Б

Ако немате Пипа, не брините; можете инсталирајте Пип на Виндовс, Мац и Линук .

Покрените следећу команду да проверите да ли сте исправно инсталирали Питест.





ЦФДБД25Ф5А3БА81БЦ6А7А12663712АБ20460ЕД1Д

Ово би требало да врати број инсталиране верзије.

Прављење првог теста

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

4Ф7ЦААБЦДЦ42Е5Е186БЦ3ДФ8АБ4Е675Ф532Е8868

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

Један од првих тестова које напишете требало би да провери да ли функција враћа очекивани резултат. Да бисте то урадили, можете користити кључну реч ассерт да упоредите стварни излаз функције са очекиваним излазом. У случају функције адд_нумберс, тест функција може изгледати овако:

како отказати неограничену претплату на киндле
А4Ф32081Е7512Ц7ДФ97Ф50106ФЦА52299Е41Ц383

Ова тест функција укључује три исказа ассерт, од којих сваки пореди излаз функције адд_нумберс са очекиваном вредношћу. Први тест проверава да сабирање 2 и 3 враћа 5, други тест проверава да ли сабирање -1 и 1 враћа 0, а трећи тест проверава да сабирање 0 и 0 враћа 0.

Како покренути тестове са Питест-ом

Након што сте написали своје тестове, следећи корак је да их покренете. Да бисте то урадили помоћу Питест-а, идите до директоријума који садржи вашу тест датотеку и покрените команду питест:

89ЕФ201Е386ЕБ8Ц05592Е94ЕАА92Д5Ц4Е0ЕЕД884

Ако све функционише како је очекивано, видећете поруку која показује да су сви тестови успешно прошли. Међутим, ако било која од тврдњи не успе, Питест ће пријавити грешку и показати вам улазне вредности које су изазвале грешку.

На пример, рецимо да сте покренули следећу тест функцију за функцију адд_нумберс:

3818470776Ц3ЦА796Ф53Д7Е62ДА2292004355ДА9

Прва тврдња неће успети јер је очекивана вредност била 6, али је стварна вредност била 5 (збир 2 и 3). Питест ће вратити следећу поруку:

  Излаз питест покретања који показује да један тест није успео

Ова порука вам показује улазне вредности које су изазвале вредност и такође вам говори колика би стварна вредност требало да буде. Ово олакшава брзо препознавање и исправљање грешака у вашем коду.

Коришћење Питест.раисес за утврђивање изузетака

Сада, хајде да напишемо тест да покријемо један од ивичних случајева функције адд_нумберс. Када проследите ненумерички аргумент као што је Ноне у функцију, Питхон би требало да покрене изузетак ТипеЕррор.

Већ би требао бити руковање изузецима у вашим Питхон програмима , и можете тестирати да ли их ваш код такође подиже исправно.

Да бисте то урадили, копирајте следећу тестну функцију у своју датотеку. Користи менаџер контекста питест.раисес да провери да ли позивање функције адд_нумбер са „Ноне“ изазива изузетак ТипеЕррор.

А9Ц9Е3ФБФД3ФФБ90Б9Ц14А40Е2Ц24730Д0ФБ7А8Б

Затим покрените Питест из командне линије. Ако се изузетак не покрене, тест неће успети.

Можете ићи даље и проверити детаље поруке о изузетку. Менаџер контекста производи ЕкцептионИнфо објекат са детаљима.

мој иПхоне је заглављен на јабуци

На пример, у овој тест функцији, потврдите поруку о изузетку овако:

ЦФЦЦ39369786А7Б172Ц5А26963ЕА6293Е26241Ф5

Ако порука не одговара оној у тесту, Питест ће указати на грешку.

Како користити параметризовано тестирање за тестирање више улаза одједном

Уместо да ручно позивате функцију са вишеструким улазима попут овог:

3818470776Ц3ЦА796Ф53Д7Е62ДА2292004355ДА9

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

6Д592132Е52Б0895Ф255Е6Е77ЕАЕ7Б50ДДЦДД350

Како покренути више тестова

До сада сте написали само два теста за функцију адд_нумберс. За сложеније функције са више тестова, можда ћете желети да их групишете у класу.

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

6481ЕБ31БД9Ф4ЦЕДФ4877Е54ЦЦ7А9ЕФ7Е860Ц803

Имајте на уму да треба да додате префикс имену класе са „Тест“ како би Питест могао да је идентификује као тест класу и да је покрене.

Питест има много више функција

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

Поред тога, можете да интегришете Питест у свој ЦИ цевовод и да почнете да покрећете тестове аутоматски и непрекидно када промените свој код.