Gwajin kowane fasali (wanda kuma aka sani da naúrar) yana da mahimmanci don tabbatar da cewa kowane aiki a cikin shirin yana aiki kamar yadda aka tsara. A cikin gwaji, kimanta takamaiman iyawa vs. gabaɗayan shirin ƙarshen zuwa ƙarshe ya bambanta sosai. Gwajin naúrar ta shigo cikin wasa a wannan lokacin.
Angular tushen budewa ne, tsarin JavaScript na tushen TypeScript. Tun da JavaScript yaren shirye-shirye ne mai ƙarfi da ake amfani da shi don gina ƙa'idodin kan layi, yana da mahimmanci a fahimci yadda ake yin gwajin naúrar a JavaScript. Wannan labarin zai bincika yadda ake gudanar da waɗannan gwaje-gwaje, abin da za a yi amfani da shi, da kuma dalilin da ya sa.
Menene Angular?
Shafukan yanar gizo na zamani suna amfani da yaren kwamfuta JavaScript (JS), wanda ke ba da abubuwa masu mu'amala da yawa waɗanda masu amfani suka saba dasu. Masu haɓaka gidan yanar gizo galibi suna dogara da tsarin JavaScript na gefen abokin ciniki don aiki da kuma kiyaye gidajen yanar gizo da kadarorin kan layi suna aiki daidai.
Angular fasaha ce da ke ba da hanyoyin haɓaka aikace-aikacen gidan yanar gizo, tana taimakawa wajen ƙira, da tsara lambar da ke ƙasa. A cikin 2010, Google ya fitar da tsarin JavaScript wanda aka sani da AngularJS. Yana ƙunshe da fasalin da ke sauƙaƙa ƙirƙirar arziƙi, ƙa'idodi masu shafi ɗaya masu haɓakawa. An gajarta sunan sifofin AngularJS zuwa Angular.
Ƙungiyoyi masu mahimmanci sun yi amfani da Angular don gina aikace-aikace, da dama daga cikinsu sun zama manyan kayayyaki. Kamar-
- Gmail
- YoutubeTV
- Paypal
- Wix WebApps
- Yanar Gizo na Microsoft
- Upwork
- freelancer
Me yasa zaku gwada Apps Angular?
Tabbatar da aikin codebase na Angular ta hanyar aiki shine hanya mafi inganci don haɓaka ingancin lambar, samun ƙarancin lahani a samarwa da ƙarancin lambar matattu, rage farashin kulawa, da cim ma saurin gyarawa har ma da haɓakawa ba tare da rashin daidaito yana lalata tsarin gaba ɗaya ba.
Da farko, yana iya zama kamar jinkirin, amma yana biya a cikin dogon lokaci. A cikin tsarin ci gaba, ana gano kwari kuma an gyara su. An inganta hanyar gyara kuskure. Idan takamaiman gwajin ya gaza, yana da sauƙi don tantance ainihin abin da baya aiki kamar yadda aka tsara. Kuma yayin da ci gaba da gwajin gwaji da gwajin naúrar ke yi, musamman, da alama sun fi rikitarwa, suna yin amfani da sababbi gwada dandamali na sarrafa kansa kuma mafi kyawun ayyuka na iya sauƙaƙa da sarrafa sarrafa dukkan tsari.
Menene gwajin Unit?
Gwajin raka'a ɗaya ne daga cikin hanyoyin gwaji ta atomatik. Gwaje-gwajen naúrar suna motsa ƙananan sassa na aikace-aikacen gabaɗaya kuma suna kwatanta ainihin halayensu da halin da aka yi niyya. Kalmar “cikakken keɓewa” tana nufin gaskiyar cewa aikace-aikacen anguwar gwajin raka'a ba su da alaƙa da abubuwan dogaro na waje kamar bayanan bayanai, tsarin fayil, ko sabis na HTTP. Wannan yana ba da damar gwaje-gwajen naúrar su zama mafi aminci da sauri tunda ba za su ƙara yin kasawa ba saboda matsaloli tare da sabis na waje.
Ana yin gwajin raka'a ta amfani da lamba. Kuna iya tunanin gwaje-gwajen naúrar azaman ƙananan shirye-shirye waɗanda ke aiwatar da aikace-aikacenku ta hanyar hulɗa tare da ƙananan sassa. Kowane gwajin naúrar yayi daidai da kwatanta ko kwatanta yadda naúrar ke aiki a cikin wani yanayi na musamman. Ta hanyar gudanar da rukunin gwaje-gwaje, masu haɓakawa na iya samun amsa nan take bayan gyaggyara lambar tushe.
Me yasa za ku yi gwajin naúrar Angular?
Yawanci, masu haɓakawa suna fara yin gwajin naúrar, sannan kuma ainihin lambar shirin. Ƙaddamar da gwajin gwaji ya bayyana wannan hanya (TDD). A cikin TDD, ana canza buƙatun zuwa lokuta na gwaji na musamman, kuma shirin yana haɓaka haɓaka sabbin gwaje-gwajen angular. Gwajin raka'a yana ba da damar canza lambar ba tare da yin tasiri ga aikin wasu raka'a ko shirin gaba ɗaya ba. Wannan yana adana albarkatu ta hanyar sanya shi mafi sauƙi ga masu haɓakawa don gano kuskure a wannan matakin.
Bugu da ƙari, a cikin mahallin gwajin raka'a, samfuran samfura suna keɓanta da juna kuma suna da yankin alhakinsu. A wannan yanayin, gwaji ya fi amintacce tunda ana gudanar da su a cikin keɓantaccen wuri. Saboda wannan kwanciyar hankali, lambar ta zama abin dogaro kuma.
Tare da abubuwan da aka ambata a sama, bari mu bincika fa'idodi da yawa na gwajin naúrar.
- Gwajin raka'a yana taimakawa wajen ganowa da warware al'amura da wuri. Ƙungiyoyin da ke aiwatar da gwajin naúrar a cikin tsarin haɓaka su kuma suna fara gwaji da wuri a cikin rayuwar software na iya ganowa da gyara matsaloli cikin sauri.
- Gidan gwajin naúrar ku yana aiki azaman hanyar aminci ga masu haɓakawa. Cikakken gwajin naúrar na iya zama hanyar aminci ga masu haɓakawa. Ta hanyar aiwatar da gwaje-gwajen lokaci-lokaci, za su iya tabbatar da cewa sauye-sauyen da suka yi na kwanan nan ga lambar bai lalata komai ba. A takaice dai, naúrar tana gwada taimako wajen gujewa koma baya.
- Gwajin raka'a na iya taimakawa inganta ingancin lambar. Wannan abu yana biye da dabi'a daga labarin da ya gabata. Saboda gwaje-gwajen naúrar suna aiki azaman hanyar aminci, masu haɓakawa sun fi ƙarfin gwiwa yayin canza lamba. Za su iya sake tsara lambar ba tare da damuwa game da karya wani abu ba, suna haɓaka ingancin codebase gaba ɗaya.
- Gwajin raka'a na iya taimakawa don haɓaka gine-ginen aikace-aikace. Ƙara gwaje-gwajen naúrar zuwa madaidaicin lambar sau da yawa yana nuna ƙirar aikace-aikace mai inganci. Don haka, buƙatar samar da lambar da za a iya gwadawa na iya ƙarfafa ingantaccen ƙira. Wannan shine dalilin da ya sa TDD (ci gaban gwajin gwaji) yana da inganci.
- Za a iya amfani da gwaje-gwaje na raka'a azaman takaddun shaida. Gwajin raka'a suna ba da misalan yadda ake amfani da lambar da ake gwadawa. Don haka, kuna iya ɗaukar su azaman takaddun aiwatarwa ko ƙayyadaddun bayanai.
- Gano ƙamshin code a cikin codebase. Samun wahalar samar da gwaje-gwajen naúrar don takamaiman lambar yana nuna warin lamba, kamar rikitattun ayyukan yau da kullun. Idan sauƙaƙan waɗanne gwaje-gwajen naúrar za a iya ƙarawa zuwa maƙallan lamba alama ce mai inganci, zancen ma gaskiya ne.
Yadda Ake Gudanar da Gwajin Raka'a a cikin Angular & Gwajin Kayan Angular
Lokacin zana gwaje-gwaje don abubuwan haɗin gwiwa, tabbatar da cewa an yi la'akari da duk waɗannan halayen.
- A cikin tsarin HTML DOM, suna iya yin samfuri.
- Za su iya karɓar bayanai daga abubuwan haɗin iyayensu ta hanyar Abubuwan da aka shigar da bayanan fitarwa ta hanyar Fitarwa.
- Suna iya ba da amsa ga nau'ikan yanayi da yawa.
- Suna iya sadarwa tare da dillalai ko ayyuka.
- Za su iya ɗaure bayanai kuma su sanya shi abin iya daidaitawa ga mai amfani.
Saita TestBed
Angular yana ba da TestBed don gwaji, wanda ke kafa yanayi inda za'a iya inganta abubuwan haɗin gwiwa da sabis da kuma tantancewa. Yana kama da daidaitaccen tsarin Angular, kuma an haɗa duk abubuwan da aka bayyana. Yi amfani da hanyar da ta gabata don guje wa kwafin lamba a kowace gwaji.
Gwajin DOM
Yawancin lokaci, ayyukan sassa suna aiwatar da dabaru masu nuna samfuri. Yin amfani da tambayar DebugElement da tambayaDukkan hanyoyin, za mu iya samun dama ga bishiyar DOM:
- tambayar ta dawo da kashi na farko wanda ya dace da ma'auni.
- QueryDuk yana dawo da tsararrun shigarwar da suka dace
Masu gudanar da taron masu tayar da hankali
Akwai zaɓuɓɓuka biyu don gwaje-gwaje. Zaɓin farko shine aiwatar da aikin kai tsaye, yayin da zaɓi na biyu, wanda aka ba da shawarar, shine aiwatar da dannawa akan wannan maɓallin. Yin amfani da kayan mai sarrafa taron jawo na DebugElement ya sa wannan mai sauƙin yi. Ya ƙunshi dalilai guda biyu: sunan taron da halayensa.
Kayan aiki don gwajin naúrar kusurwa
Jasmine: Ana iya amfani da tsarin gwajin Jasmine don gwada lambar JavaScript. Musamman, tsari ne na BDD (Halaye-Driven Development). Saboda madaidaicin tsarin sa da kuma gaskiyar cewa baya buƙatar DOM ko dogara ga wasu tsarin, Jasmine yana da sauƙin amfani da shi kai tsaye daga cikin akwatin. Jasmine shine tsarin gwaji na asali wanda littafin Angular ya ba da shawarar. Angular CLI yana daidaita Jasmine ta atomatik, don haka ba kwa buƙatar shigar da shi daban-daban.
Karma: Tsohuwar tsarin gwajin Angular shine Karma. Tawagar AngularJs ta haɓaka ta saboda sun sami matsala a ciki Gwajin angular amfani da kayan aikin da ake da su a lokacin. Karma yana ba ku damar gwada aikace-aikacenku akan ainihin masu binciken gidan yanar gizo da na'urori, kamar allunan da wayoyin hannu. Hakanan yana iya daidaitawa sosai tunda yana dacewa da sauran tsarin gwaji. Tsohuwar tsarin Angular shine Jasmine (wanda zamu tattauna nan da nan), amma kuna iya canza shi da Mocha, QUnit, ko wasu. Bugu da ƙari, haɗin kai tare da ci gaba da tsarin haɗin kai kamar Travis, Jenkins, CircleCI, da Semaphore yana da sauƙi.
Mai ciniki: Protractor kayan aikin gwaji ne na ƙarshe zuwa ƙarshe don ƙa'idodin Angular. Yana aiwatar da gwaje-gwajen ku a cikin mai bincike na gaske kuma yana kwaikwayi mu'amalar mai amfani da aikace-aikacen ku.
Angular CLI: Angular CLI (Command Line Interface) kayan aiki ne wanda za'a iya amfani dashi don ginawa, haɓakawa, da gwada aikace-aikacen Angular.
Gwajin Rukunin Angular ayyuka mafi kyau
Ga wasu abubuwan da za a bi yayin yin gwajin naúrar angular:
- Gwaji ya zama mai sauri kuma mai sauƙi, yana wajabta aiwatar da shari'o'in gwaji da sauri tunda wannan ya cika manufar gwajin naúrar. Idan shari'o'in gwajin angular sun yi kasala sosai, masu haɓakawa ba za su aiwatar da su akai-akai kamar yadda ya kamata ba—haka kuma, mafi madaidaiciyar shari'o'in gwajin naúrar, mafi daidaitattun binciken gwajin.
- Abubuwan gwaji kada su maimaita dabaru na aiwatarwa.
- Sakamakon gwajin ba zai zama abin tsinkaya ba ko daidai ba tare da fallasa zuwa saitunan samar da halitta ba (ainihin, na'urorin aiki). Halayen shari'o'in gwaji yakamata su kasance masu kayyadewa muddin lambar su ta kasance dawwama. Don gwaje-gwajen su kasance masu ƙima, ma'aikatan tabbatar da inganci dole ne su gudanar da su akan ainihin masu bincike da na'urori, ba masu kwaikwayo da na'urar kwaikwayo ba.
- Ci gaba da aiwatar da gwaje-gwajen naúrar a cikin akwati mai yashi, cire duk wani abin dogaro na waje.
- Yi amfani da ƴan leƙen asiri daga tsarin Jasmine yayin gwada dogaron sabis.
- Lokacin gwada abubuwan da aka haɗa, ya fi dacewa don samun dama ga DOM ta amfani da debugElement (wanda ke ba da abstraction don yanayin lokacin aiki na farko) maimakon asalin asalin.
- Idan app ɗinku yana kan uwar garken, yi amfani da By.css maimakon mai zaɓe tunda na ƙarshen mai lilo ne kawai.
- Tabbatar cewa an rufe aƙalla kashi 80 na lambar.
- Aiwatar da ingantaccen tsarin suna don shari'o'in gwaji
Kammalawa
Gwajin raka'a wani nau'i ne na gwaji na atomatik; wasu masana ma suna jayayya cewa shine mafi mahimmanci. Wannan yana nufin duk yarukan shirye-shirye da dandamali, gami da JavaScript. Ko kana amfani da JavaScript a bayan baya, tsarin gaba-gaba, ko rubuta vanilla JavaScript, ana buƙatar gwajin raka'a.
Akwai kayan aiki da yawa don kowane nau'in gwaji. Zaɓi na'ura, kamar HeadSpin, wanda ke ba da mafi yawan fa'idodi kuma ya dace da kasafin ku don kowane nau'in gwaji.