JavaRush /Блоги Java /Random-TG /TDD ва санҷиши воҳид чист [тарҷума]
Dr-John Zoidberg
Сатҳи
Марс

TDD ва санҷиши воҳид чист [тарҷума]

Дар гурӯҳ нашр шудааст
Ин мақола мутобиқгардонии боб аз китоби The Complete Career Software Guide мебошад. Муаллифи он Ҷон Сонмез онро менависад ва баъзе бобҳоро дар вебсайти худ ҷойгир мекунад.
TDD ва санҷиши воҳид чист [тарҷума] - 1

Луғати кӯтоҳ барои шурӯъкунандагон

Санҷиши воҳидҳо ё санҷиши воҳидҳо равандест дар барномасозӣ, ки ба шумо имкон медиҳад, ки модулҳои инфиродии codeи сарчашмаи барномаро дурустӣ тафтиш кунед. Идеяи навиштани санҷишҳо барои ҳар як функсия ё усули ғайримуқаррарӣ мебошад. Санҷиши регрессионӣ номи умумии ҳама намудҳои санҷиши нармафзор мебошад, ки барои ошкор кардани хатогиҳо дар соҳаҳои аллакай санҷидашудаи codeи сарчашма нигаронида шудааст. Чунин хатогиҳо - вақте ки пас аз ворид кардани тағирот ба барнома чизе, ки бояд корашро идома диҳад, корашро қатъ мекунад - хатогиҳои регрессивӣ номида мешаванд. Натиҷаи сурх, ноком - нокомии санҷиш. Фарқи байни натиҷаи интизорӣ ва натиҷаи воқеӣ. Натиҷаи сабз, гузариш - натиҷаи санҷиши мусбӣ. Натичаи хакикй аз он чи ки ба даст оварда шуда буд, фарк надорад. ***
TDD ва санҷиши воҳид чист [тарҷума] - 2
Ман бо Test Driven Development (TDD) ва санҷиши воҳид муносибати хеле омехта дорам, ки аз муҳаббат ба нафрат ва дубора бармегардам. Ман як мухлиси ашаддӣ ва ҳамзамон шубҳаи шубҳанок дар бораи истифодаи ин ва дигар "таҷрибаҳои беҳтарин" будам. Сабаби муносибати ман дар он аст, ки дар равандҳои таҳияи нармафзор мушкилоти ҷиддӣ ба миён омадааст: таҳиягарон ва баъзан менеҷерҳо асбобҳо ва методологияҳои муайянро танҳо барои он истифода мебаранд, ки онҳо ба "таҷрибаҳои беҳтарин" тааллуқ доранд. Сабаби аслии истифодаи онҳо номаълум боқӣ мемонад. Як рӯз ман дар як лоиҳаи муайян кор карданро сар кардам ва дар ин раванд ба ман хабар доданд, ки мо codeеро, ки бо шумораи зиёди санҷишҳои воҳидҳо фаро гирифта шудаанд, тағир медиҳем. Шӯхӣ нест, онҳо тақрибан 3000 нафар буданд Ин одатан аломати хуб аст, сигнали он аст, ки таҳиягарон усулҳои пешрафтаро истифода мебаранд. Рамз бо ин равиш аксар вақт сохторбандӣ карда мешавад ва он ба меъмории хуб андешидашуда асос ёфтааст. Ба ибораи дигар, мавҷудияти санҷишҳо маро шод кард, агар ин маънои онро дошт, ки кори ман ҳамчун мураббии барномасозон осонтар шавад. Азбаски мо аллакай санҷишҳои воҳидҳо доштем, танҳо ба ман лозим буд, ки дастаи таҳиякунандаро пайваст кунад, то онҳоро дастгирӣ кунад ва ба навиштани рамзи худ шурӯъ кунад. Ман IDE (муҳити ҳамгирошудаи рушд) -ро кушодам ва лоиҳаро бор кардам.
TDD ва санҷиши воҳид чист [тарҷума] - 3
Ин як лоиҳаи бузург буд! Ман папкаеро ёфтам, ки "санҷишҳои воҳид" ном дорад. «Аъло,» ман фикр кардам. - Биёед онро оғоз кунем ва бубинем, ки чӣ мешавад. Ин ҳамагӣ чанд дақиқа тӯл кашид ва тааҷҷубовар аст, ки ҳама санҷишҳо гузаштанд, ҳама чиз сабз буд ( "сабз" натиҷаи мусбати санҷиш аст. Сигнал медиҳад, ки code тавре интизор буд кор мекунад. Сурх "нокомӣ" ё нокомиро нишон медиҳад, пас Ҳолате вуҷуд дорад, ки code дуруст кор намекунад - ёддошти тарҷумон ). Хамаи онхо аз имтихон гузаштанд. Дар ин лахза шаккоки дар ман бедор шуд. Чӣ тавр, се ҳазор адад санҷиш, ва онҳо яку якбора ҳама - ва натиҷаи мусбат дод? Дар таҷрибаи тӯлонии худ, ман вақтеро дар хотир надоштам, ки ман дар як лоиҳа бидуни санҷиши як воҳиди манфии code ба кор шурӯъ кардам. Чӣ бояд кард? Ба таври дастӣ тафтиш кунед! ChY як санҷиши тасодуфиро интихоб кард, на ошкоро, аммо дарҳол маълум шуд, ки ӯ чиро тафтиш мекунад. Аммо ҳангоми кор кардан ман як чизи бемаъниро мушоҳида кардам: санҷиш бо натиҷаи интизоршуда ҳеҷ муқоисае надошт (таъкид мекунад)! Яъне, дар асл ҳеҷ чиз санҷида нашудааст ! Дар санҷиш қадамҳои муайян вуҷуд доштанд, онҳо гузаронида шуданд, аммо дар охири санҷиш, ки ӯ бояд натиҷаҳои воқеӣ ва интизориро муқоиса кунад, ҳеҷ гуна санҷиш вуҷуд надошт. «Санҷиш» чизеро санҷида нашуд. Ман санҷиши дигарро кушодам. Боз ҳам беҳтар: оператори муқоисавӣ бо натиҷа шарҳ дода шудааст. Олиҷаноб! Ин як роҳи олиҷаноб барои гузаштани санҷиш аст, танҳо codeеро шарҳ диҳед, ки боиси нокомии он мегардад. Боз санҷидаму санҷиши дигар... Ҳеҷ кадоме аз онҳо чизе насанчид. Се ҳазор санҷиш ва ҳамаашон тамоман бефоидаанд. Байни навиштани санҷишҳои воҳидҳо ва дарки санҷиши воҳидҳо ва таҳияи ба санҷиш асосёфта (TDD) фарқияти калон вуҷуд дорад.

Санҷиши воҳид чист?

TDD ва санҷиши воҳид чист [тарҷума] - 4
Идеяи асосии санҷиши воҳидҳо навиштани санҷишҳое мебошад, ки хурдтарин "воҳиди" codeро месанҷанд. Санҷишҳои воҳидҳо одатан бо ҳамон забони барномасозӣ бо рамзи сарчашмаи барнома навишта мешаванд. Онҳо бевосита барои санҷиши ин code сохта шудаанд. Яъне, санҷишҳои воҳид codeест, ки дурустии codeи дигарро тафтиш мекунад. Ман калимаи "озмоиш" -ро дар контекст хеле озодона истифода мебарам, зеро санҷишҳои воҳидӣ ба ягон маъно санҷиш нестанд. Онҳо ҳеҷ чизро таҷриба намекунанд. Ман дар назар дорам ин аст, ки вақте ки шумо санҷиши воҳидро иҷро мекунед, шумо одатан намефаҳмед, ки баъзе codeҳо кор намекунанд. Шумо инро ҳангоми навиштани тест кашф мекунед, зеро шумо codeро то сабз шудани санҷиш иваз мекунед. Бале, рамз метавонад дертар тағир ёбад ва пас санҷиши шумо ноком шавад. Ҳамин тавр, ба ин маъно, санҷиши воҳид санҷиши регрессия аст. Санҷиши воҳид ба санҷиши муқаррарӣ монанд нест, ки дар он шумо чанд қадаме доред, ки шумо пайравӣ мекунед ва мебинед, ки нармафзор дуруст кор мекунад ё не. Дар ҷараёни навиштани санҷиши воҳид, шумо мефаҳмед, ки оё code он чизеро, ки бояд иҷро кунад ё не, иҷро мекунад ё не ва шумо то гузаштани санҷиш рамзро иваз мекунед.
TDD ва санҷиши воҳид чист [тарҷума] - 5
Чаро санҷиши воҳидиро нанависед ва санҷед, ки оё он мегузарад? Агар шумо дар ин бора фикр кунед, пас санҷишҳои воҳидҳо ба як навъ талаботи мутлақ барои модулҳои муайяни code дар сатҳи хеле паст табдил меёбанд. Шумо метавонед санҷиши воҳидро ҳамчун мушаххасоти мутлақ тасаввур кунед . Санҷиши воҳид муайян мекунад, ки дар ин шароит, бо ин маҷмӯи мушаххаси вурудот, натиҷае мавҷуд аст, ки шумо бояд аз ин воҳиди code ба даст оред. Санҷиши воҳиди воқеӣ хурдтарин воҳиди ҳамоҳангшудаи codeро муайян мекунад, ки дар аксари забонҳои барномасозӣ - ҳадди аққал ба an object нигаронидашуда - синф аст.

Чиро баъзан санҷиши воҳид меноманд?

TDD ва санҷиши воҳид чист [тарҷума] - 6
Санҷиши воҳидҳо аксар вақт бо санҷиши ҳамгироӣ омехта карда мешавад. Баъзе "санҷишҳои воҳидҳо" зиёда аз як синфро месанҷанд ё воҳидҳои калони codeро месанҷанд. Бисёре аз таҳиягарон даъво доранд, ки онҳо санҷишҳои воҳидиро менависанд, дар сурате ки онҳо санҷишҳои сатҳи пасти қуттии сафед менависанд. Бо ин бачаҳо баҳс накунед. Танҳо бидонед, ки онҳо воқеан санҷишҳои ҳамгироӣ менависанд ва санҷишҳои воҳиди воқеии хурдтарин воҳиди codeро дар ҷудо аз қисмҳои дигар месанҷанд. Чизи дигаре, ки аксар вақт санҷиши воҳид номида мешавад, санҷишҳои воҳидҳо бидуни тафтиши арзиши интизоршуда мебошанд. Ба ибораи дигар, санҷишҳои воҳид, ки воқеан ҳеҷ чизро санҷида наметавонанд. Ҳама гуна санҷиш, ки муттаҳид шудааст ё не, бояд як навъ санҷишро дар бар гирад - мо онро тафтиши натиҷаи воқеиро нисбат ба натиҷаи интизоршуда меномем. Маҳз ҳамин оштӣ муайян мекунад, ки имтиҳон мегузарад ё ноком мешавад. Санҷише, ки ҳамеша мегузарад, бефоида аст. Санҷише, ки ҳамеша ноком мешавад, бефоида аст.

Арзиши санҷиши воҳид

Чаро ман як мухлиси санҷиши воҳид ҳастам? Чаро даъват кардани санҷиши умумӣ зараровар аст, ки озмоиши на хурдтарин блоки аз дигар codeҳо ҷудошударо дар бар мегирад, балки як қисми калонтари code, "санҷиши воҳид"? Агар баъзе аз санҷишҳои ман натиҷаҳои гирифташуда ва интизоршавандаро муқоиса накунанд, мушкилӣ чист? Ақаллан онҳо codeро иҷро мекунанд. Ман кӯшиш мекунам фаҳмонам.
TDD ва санҷиши воҳид чист [тарҷума] - 7
Ду сабаби асосии гузаронидани санҷиши воҳид вуҷуд дорад. Якум ин такмил додани тарҳи code мебошад. Дар хотир доред, ки чӣ гуна ман гуфтам, ки санҷиши воҳид воқеан санҷиш нест? Вақте ки шумо санҷишҳои воҳиди мувофиқ менависед, шумо худро маҷбур мекунед, ки хурдтарин воҳиди codeро ҷудо кунед. Ин кӯшишҳо шуморо водор мекунанд, ки дар сохтори худи code мушкилот пайдо кунед. Шояд шумо ҷудо кардани синфи санҷишро хеле душвор донед ва вобастагии онро дар бар намегиред ва ин метавонад шуморо дарк кунад, ки рамзи шумо хеле зич пайваст аст. Шумо метавонед дарк кунед, ки функсияи асосие, ки шумо озмоиш кардан мехоҳед, якчанд модулҳоро дар бар мегирад ва шуморо бовар мекунонад, ки рамзи шумо ба қадри кофӣ мувофиқ нест. Вақте ки шумо барои навиштани санҷиши воҳид нишастаед, шумо метавонед ногаҳон кашф кунед (ва ба ман бовар кунед, ин рӯй медиҳад!), ки шумо намедонед, ки code чӣ кор мекунад. Аз ин рӯ, шумо наметавонед барои он санҷиши воҳидиро нависед. Ва албатта, шумо метавонед хатогии воқеиро дар татбиқи code пайдо кунед, зеро санҷиши воҳид шуморо маҷбур мекунад, ки берун аз қуттӣ фикр кунед ва маҷмӯи гуногуни вурудҳоро, ки шумо шояд ба назар нагирифтаед, санҷед.
TDD ва санҷиши воҳид чист [тарҷума] - 8
Агар шумо ҳангоми эҷоди санҷишҳои воҳид ба қоидаи "хурдтарин воҳиди codeро дар ҷудо аз дигарон санҷед" ба таври қатъӣ риоя кунед, шумо ҳатман ҳама гуна мушкилотро бо ин code ва тарҳрезии он модулҳо пайдо мекунед. Дар давраи ҳаёти таҳияи нармафзор, санҷиши воҳидҳо бештар аз як фаъолияти арзёбӣ аст. Ҳадафи дуюми асосии санҷиши воҳидҳо эҷоди маҷмӯи автоматии санҷишҳои регрессионӣ мебошад, ки метавонад ҳамчун тавсифи сатҳи пасти рафтори нармафзор амал кунад. Ин чӣ маъно дорад? Вакте ки хамир хамир мекунед, онро намешиканед. Аз ин нуқтаи назар, санҷишҳои воҳидҳо санҷишҳо, махсусан санҷишҳои регрессионӣ мебошанд. Бо вуҷуди ин, ҳадафи санҷиши воҳидҳо танҳо сохтани санҷишҳои регрессия нест. Дар амал, санҷишҳои воҳидҳо регрессияҳоро кам мекунанд, зеро тағирот ба воҳиди codeе, ки шумо озмоиш мекунед, қариб ҳамеша тағиротро дар худи санҷиши воҳид дар бар мегирад. Санҷиши регрессионӣ дар сатҳи баландтар, вақте ки code ҳамчун "қуттии сиёҳ" санҷида мешавад, хеле самараноктар аст, зеро дар ин сатҳ сохтори дохorи codeро метавон тағир дод, дар ҳоле ки рафтори беруна бетағйир боқӣ мемонад. Санҷишҳои воҳид дар навбати худ сохтори дохorро тафтиш мекунанд, то вақте ки ин сохтор тағир меёбад, санҷишҳои воҳид ноком нашаванд. Онҳо корношоям мешаванд ва ҳоло бояд иваз карда шаванд, партофта шаванд ё аз нав навишта шаванд. Ҳоло шумо дар бораи ҳадафи аслии санҷиши воҳидҳо назар ба бисёре аз таҳиягарони нармафзори собиқадор бештар медонед.

Рушди озмоишӣ (TDD) чист?

TDD ва санҷиши воҳид чист [тарҷума] - 9
Дар раванди таҳияи нармафзор, мушаххасоти хуб ба вазни худ бо тилло арзиш дорад. Муносибати TDD аз он иборат аст, ки пеш аз навиштани ягон code, шумо аввал санҷишеро менависед, ки ҳамчун мушаххасот хидмат хоҳад кард, яъне муайян кунед, ки code чӣ кор кунад. Ин як консепсияи хеле пурқуввати таҳияи нармафзор аст, аммо он аксар вақт нодуруст истифода мешавад. Одатан, таҳияи ба санҷиш асосёфта маънои истифодаи санҷишҳои воҳид барои роҳнамоии эҷоди codeи барномаро дорад. Аммо дар асл, ин равишро метавон дар ҳама сатҳ татбиқ кард. Аммо, дар ин мақола мо тахмин мекунем, ки мо барои барномаи худ санҷиши воҳидро истифода мебарем. Равиши TDD ҳама чизро ба сари худ мегардонад ва ба ҷои навиштани code аввал ва баъд навиштани санҷишҳои воҳид барои санҷиши ин code, шумо аввал як санҷиши воҳид менависед ва сипас code нависед, то ин санҷиш сабз шавад. Бо ин роҳ, санҷиши воҳид таҳияи codeро "рон мекунад". Ин раванд такрор ба такрор такрор карда мешавад. Шумо санҷиши дигаре менависед, ки функсияҳои бештареро, ки code бояд иҷро кунад, муайян мекунад. Пас шумо codeро нависед ва тағир диҳед, то боварӣ ҳосил кунед, ки санҷиш бомуваффақият анҷом меёбад. Пас аз он ки шумо натиҷаи сабз ба даст меоред, шумо ба рефакторизатсияи code шурӯъ мекунед, яъне рефакторинг ё тоза кардани он барои мухтасартар кардани он. Ин силсилаи равандҳо аксар вақт "Ред-сабз-Рефакторинг" номида мешавад, зеро аввал санҷиши воҳид ноком мешавад (сурх), пас code барои мутобиқ шудан ба санҷиш навишта мешавад ва боварӣ ҳосил кунед, ки он муваффақ мешавад (сабз) ва дар ниҳоят code оптимизатсия карда мешавад ( рефакторинг).

Ҳадафи TDD чист?

TDD ва санҷиши воҳид чист [тарҷума] - 10
Рушди ба санҷиш асосёфта (TDD), ба монанди санҷиши воҳидҳо, метавонад нодуруст истифода шавад. Кореро, ки мекунед, "TDD" номидан хеле осон аст ва ҳатто бидуни фаҳмидани он ки чаро ин тавр мекунед, ба амалия пайравӣ кунед. Бузургтарин арзиши TDD дар он аст, ки санҷишҳо барои истеҳсоли мушаххасоти сифат гузаронида мешаванд. TDD аслан таҷрибаи навиштани мушаххасоти дақиқ аст, ки пеш аз навиштани рамзгузорӣ ба таври худкор санҷида мешавад. Санҷишҳо беҳтарин мушаххасот мебошанд, зеро онҳо дурӯғ намегӯянд. Онҳо пас аз ду ҳафтаи азоб бо codeи "ин чизе ки ман умуман дар назар надоштам" ба шумо намегӯянд. Санҷишҳо, вақте ки дуруст навишта шудаанд, ё мегузаранд ё ноком мешаванд. Санҷишҳо ба таври возеҳ нишон медиҳанд, ки дар шароити муайян чӣ бояд рӯй диҳад. Ҳамин тариқ, ҳадафи TDD ин аст, ки ба мо фаҳмиши пурраи он чизеро, ки мо бояд пеш аз оғози татбиқи он амалӣ кунем. Агар шумо бо TDD оғоз карда бошед ва фаҳмед, ки санҷиш чӣ бояд санҷида шавад, пас шумо бояд саволҳои бештар пурсед. Нақши дигари муҳими TDD ҳифз ва оптимизатсияи code мебошад. Нигоҳдории code гарон аст. Ман аксар вақт шӯхӣ мекунам, ки беҳтарин барномасоз касест, ки рамзи кӯтоҳтаринро менависад, ки ягон масъаларо ҳал мекунад. Ё ҳатто шахсе, ки исбот мекунад, ки ин мушкилотро ҳал кардан лозим нест ва ба ин васила codeро комилан хориҷ мекунад, зеро маҳз ҳамин барномасоз роҳи дурусти кам кардани шумораи хатогиҳо ва кам кардани хароҷоти нигоҳдории барномаро пайдо кардааст. Бо истифода аз TDD, шумо комилан боварӣ дошта метавонед, ки шумо ягон рамзи нолозим наменависед, зеро шумо танҳо барои гузаштани санҷишҳо code менависед. Принсипи таҳияи нармафзор вуҷуд дорад, ки YAGNI ном дорад (ба шумо ба он ниёз надоред). TDD YAGNI-ро пешгирӣ мекунад.

Ҷараёни кории маъмулии таҳияи озмоишӣ (TDD).

What такое TDD и модульное тестирование [перевод] - 11
Фаҳмидани маънои TDD аз нуқтаи назари илмӣ душвор аст. Пас, биёед мисоли сессияи TDD-ро бубинем. Тасаввур кунед, ки дар сари мизи худ нишаста, зуд тасвир кунед, ки он чизеро, ки шумо фикр мекунед, тарҳи сатҳи баланд барои хусусияте хоҳад буд, ки ба корбар имкон медиҳад, ки ба барнома ворид шавад ва пароли худро дар сурати фаромӯш кардани он иваз кунад. Шумо қарор медиҳед, ки шумо аз татбиқи аввалини функсияи воридшавӣ оғоз карда, синферо эҷод мекунед, ки тамоми мантиқи раванди воридшавиро иҷро мекунад. Шумо муҳаррири дӯстдоштаи худро мекушоед ва санҷиши воҳидиро бо номи "Воридшавӣ холӣ аз воридшавии корбар манъ мекунад" эҷод мекунед. Шумо рамзи санҷиши воҳидро менависед, ки аввал як мисоли синфи Логинро эҷод мекунад (ки шумо онро то ҳол эҷод накардаед). Пас шумо code менависед, то методе дар синфи Логин занг занед, ки номи корбар ва пароли холиро мегузарад. Ниҳоят, шумо бар зидди натиҷаи интизоршуда чек менависед ва тафтиш мекунед, ки корбар бо логини холӣ воқеан ворид нашудааст. Шумо кӯшиш карда истодаед, ки санҷиш гузаронед, аммо он ҳатто тартиб намедиҳад, зеро шумо синфи Логин надоред. Шумо ин вазъиятро ислоҳ мекунед ва синфи Воридро дар якҷоягӣ бо усуле дар он синф барои ворид шудан ва дигаре барои санҷидани ҳолати корбар барои ворид шудан ба система эҷод мекунед. То ба ҳол шумо функсияи ин синф ва усули ба мо лозимиро татбиқ накардаед. Шумо дар ин лаҳза санҷишро иҷро мекунед. Ҳоло он тартиб медиҳад, аммо дарҳол ноком мешавад.
What такое TDD и модульное тестирование [перевод] - 12
Акнун шумо ба code бармегардед ва функсияро барои гузаштан аз санҷиш татбиқ кунед. Дар ҳолати мо, ин маънои онро дорад, ки мо бояд натиҷаро ба даст орем: "корбар ворид нашудааст." Шумо санҷишро дубора иҷро мекунед ва ҳоло он мегузарад. Биёед ба санҷиши навбатӣ гузарем. Акнун биёед тасаввур кунем, ки шумо бояд санҷишеро нависед, ки "Истифодабаранда ворид шудааст, агар номи корбар ва паролро ворид карда бошад." Шумо як санҷиши воҳидиро менависед, ки синфи Логинро ба вуҷуд меорад ва кӯшиш мекунад, ки бо номи корбар ва парол ворид шавед. Дар санҷиши воҳид, шумо изҳорот менависед, ки синфи Логин бояд ба саволи ворид шудани корбар ҳа ҷавоб диҳад. Шумо ин санҷиши навро иҷро мекунед ва албатта он ноком мешавад, зеро синфи Логини шумо ҳамеша бармегардад, ки корбар ба система надаромадааст. Шумо ба синфи Логини худ бармегардед ва барои тасдиқи он, ки корбар ворид шудааст, як рамзро татбиқ мекунед. Дар ин ҳолат, шумо бояд фаҳмед, ки чӣ гуна ин модулро ҷудо кунед. Дар ҳоли ҳозир, роҳи осонтарини ин кор ин аст, ки номи корбар ва паролеро, ки дар санҷиши худ истифода бурдед, сахт рамзгузорӣ кунед ва агар онҳо мувофиқат кунанд, натиҷаро баргардонед "корбар ворид шудааст". Шумо ин тағиротро мекунед, ҳарду санҷишро иҷро мекунед ва ҳардуи онҳо мегузаранд. Биёед ба қадами охирин гузарем: шумо ба рамзи тавлидшуда назар карда, роҳи аз нав ташкил кардан ва содда кардани онро меҷӯед. Ҳамин тавр, алгоритми TDD ин аст:
  1. Санҷиш таъсис дод.
  2. Мо барои ин санҷиш code навиштем.
  3. Рамзро аз нав кор кард.

хулосахо

What такое TDD и модульное тестирование [перевод] - 13
Ин ҳама чизест, ки ман мехостам ба шумо дар бораи санҷиши воҳид ва TDD дар ин марҳила бигӯям. Дар асл, бо кӯшиши ҷудо кардани модулҳои code мушкилоти зиёде мавҷуданд, зеро code метавонад хеле мураккаб ва печида бошад. Хеле ками синфҳо дар алоҳидагӣ вуҷуд доранд. Ба ҷои ин, онҳо вобастагӣ доранд ва он вобастагӣ вобастагӣ доранд ва ғайра. Барои мубориза бо чунин ҳолатҳо, собиқадори TDD масхара истифода мебарад, ки ба ҷудо кардани синфҳои инфиродӣ тавассути иваз кардани an objectҳо дар модулҳои вобаста кӯмак мерасонанд. Ин мақола танҳо шарҳи мухтасар ва муқаддимаи то андозае соддакардашуда ба санҷиши воҳидҳо ва TDD мебошад, мо дар бораи модулҳои думми ва дигар усулҳои TDD муфассал маълумот намедиҳем. Идеяи он аст, ки ба шумо мафҳумҳо ва принсипҳои асосии TDD ва санҷиши воҳидҳоро пешниҳод кунед, ки умедворед шумо ҳоло доред. Асл - https://simpleprogrammer.com/2017/01/30/tdd-unit-testing/
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION