Pirmieji žingsniai su jazminu

Turinys
Šiandien tinkamas metas būti kūrėju „JavaScript“Galima sakyti, kad tai net įdomu, nes ją apimančios technologijos gana subrendo, interneto naršyklės yra labiau standartizuotos ir kiekvieną dieną atsiranda vis daugiau naujų dalykų, su kuriais galima žaisti ir eksperimentuoti.
„JavaScript“ yra nusistovėjusi kalba, o žiniatinklis šiandien yra pagrindinė platforma, kurioje matėme vieno puslapio programų atsiradimą, MVC sistemų, tokių kaip KampinisJS arba Backbone.js, naudojant serverio „JavaScript“ su Node.js ir net mobiliosios programos, sukurtos tik naudojant HTML, CSS Y „JavaScript“ su tokiomis technologijomis „PhoneGap“.
Nuo pat pradžių „JavaScript“ buvo atsakinga už kalbą, skirtą manipuliuoti duomenimis ir patvirtinti juos formose HTML ir šiuo metu jis naudojamas kuriant galingas programas, kurias galime matyti internete. Tai matant galima sakyti, kad „JavaScript“ Tai nuėjo ilgą kelią, taip pat pasirodė priemonės, kurios užtikrina, kad mūsų kokybė būtų tokia pati, lyg būtume kitomis kalbomis.
Viena iš šių priemonių yra Jazminas, kuris yra ne kas kita, kaip į elgesį orientuota kūrimo sistema ir leidžia mums sukurti automatizuotus programavimo kalbos vienetų testus „JavaScript“. Prieš pradėdami visiškai naudotis šiuo įrankiu, pažvelkime į jo kūrimo pagrindus ir pagrindines sąvokas, kad suprastume, kaip jis veikia „JavaScript“.
Šiandien niekas neabejoja jo galia „JavaScript“Tačiau dirbant kliento pusėje kyla komplikacijų ir viena akivaizdžių priežasčių yra ta, kad negalime kontroliuoti jos vykdymo aplinkos. Serveryje šios problemos neturime, nes galime paleisti tam tikrą versiją Node.js tačiau žiniatinklio naršyklės atveju negalime liepti vartotojui naudoti konkrečios versijos „Chrome“ arba „Firefox“.
Kalba „JavaScript“ yra apibrėžta specifikacijose ECMAScript todėl kiekviena naršyklė gali turėti savo aplinkos įgyvendinimą, kad ją paleistų, todėl tarp jų gali būti nedidelių skirtumų ar klaidų. Kiekvienas objektas „JavaScript“ jis yra kintamas, todėl mes neturime jokios kontrolės, kuri neleistų moduliui perrašyti kitų dalių, kad tai iliustruotume, pažvelkime į nedidelį kodo segmentą, kuriame pamatysime, kaip lengva perrašyti visuotinę funkciją console.log:
 console.log ('testas'); console.log = 'pertrauka'; console.log ('testas');
Pažiūrėkime atsakymą konsolėje, kur aiškiai matome klaidą, nes perrašėme funkciją:

Toks kalbos būdo sprendimas buvo priimtas jį kuriant, nes tai leido kūrėjams pridėti trūkstamų funkcijų, tačiau, atsižvelgiant į šį universalumą, yra daug lengviau padaryti klaidų, netgi naujausia kalbos versija pristatė funkcija Objektas.plombas tai neleido, tačiau jo palaikymas buvo taikomas tik kelioms naršyklėms.
Dar viena problema, su kuria susiduriame „JavaScript“ yra tipų apdorojimas, kitomis kalbomis tokia išraiška kaip „1“ + 1 tikriausiai sukels klaidą, bet „JavaScript“ tai gali sukelti 11. Tai gali sukelti keletą sunkiai aptinkamų problemų, pavyzdžiui, tarkime, kad turime:
 var a = 1, b = '5', c = 4, d = 2; var rezultatas = a + b + c * d; console.log (rezultatas);
Pažiūrėkime atsakymą per konsolę, kai paleisime kodą naršyklėje:

Kaip matome, rezultatas buvo eilutė, taigi, jei tikėjomės skaičiaus, atliekančio specialią funkciją ar įprastą procedūrą, tai gali sukelti problemų, o šios klaidos radimas gali reikšti, kad eikvojame kelias brangaus kūrimo laiko valandas.
Svarbu paminėti, kad ką tik paminėti dalykai nėra priežastis jų nenaudoti „JavaScript“Tiesiog norime pamatyti, kur ji turi tam tikrų trūkumų, bet tai nereiškia, kad tai bloga kalba; galime netgi užtikrinti, kad jos teikiamos galimybės yra begalinės taikomųjų programų kūrimo požiūriu ir kas yra geriau, vis tiek turime priemonių, kurios mes padėsime su ta pačia geriausia praktika.
Kaip minėjome, Jazminas Tai nedidelė sistema, padedanti mums atlikti vieneto bandymus mūsų vystymosi metu ir kurioje naudojama į elgesį orientuoto vystymosi filosofija, kurią mes paaiškinsime vėliau, tačiau prieš tęsdami pažiūrėkime į svarbią koncepciją, tai yra, kad jie yra vienetiniai testai.
Vienetiniai bandymaiThe vienetų bandymai Tai yra kodo dalys, kurios išbando mūsų programos kodo vienetų funkcijas, o šio kelio pradžioje kūrėjui buvo palikta tradicinė filosofija, orientuota į bandymą, o ne į elgesį.
Todėl kūrėjai Jazminas jie pertvarko šį tradicinį testavimo būdą, kai kūrėjas liko be aiškaus vaizdo, nuo ko pradėti testavimo procesą, nežinodamas, ką išbandyti ir kokio dydžio gali būti bandymo modulis, ar net kaip jie pavadintų vieną iš šių testų . Pavyzdžiui, jei mes naudojame filosofiją Jazminas Jei norite atlikti bandymus, tarkime, kad turime muzikos grotuvą, kuriam bus taikomi šie priėmimo kriterijai: Atsižvelgiant į grotuvą, kai daina pristabdyta, grotuvas turi nurodyti, kad daina buvo pristabdyta.
Taigi galime paimti kriterijų ir jį padalyti taip:
  • Atsižvelgiant (pradinis kontekstas)
  • Kada (įvykis įvyksta)
  • Tada (imamasi veiksmų)
Jazminas leidžia mums išversti tai, kas išdėstyta aukščiau, į kodą, kuris bus parašytas taip, kad be problemų atspindėtų mūsų programos vertybes, kurios gali atrodyti taip:
 apibūdinti ("Leistuvė", funkcija () {aprašyti ("Kai daina pristabdyta", funkcija () {it ("Ji turi nurodyti, kad daina pristabdyta", funkcija () {});});});
Kaip matome, mūsų kriterijai buvo perkelti į Jazminas be didelių rūpesčių, kur galime pasakyti, kad kiekvienas kriterijus yra išverstas į vieneto testą.
Mes jau galėjome pasižiūrėti, kaip Jazminas ji tvarko kriterijus ir išverčia juos į savo sintaksę, sukurdama vieneto testus, tačiau, norėdami ten patekti, pirmiausia pažiūrėkime, kaip gauti sistemą. Norėdami tai padaryti, einame į projekto puslapį ir atsisiųsime jį:

DIDELIS

Išpakuodami, turime eiti į aplanką rajonas, ten rasite visus paskirstymus Jazminas iki šiol, kur pradėti naudoti, turime pasirinkti norimą platinimą, pageidautina naujausią, ir išpakuoti jį mūsų projekto aplanke, įvesti aplanką ir vykdyti failą SpecRunner.html:

Jazminas Pagal numatytuosius nustatymus jame pateikiami kai kurių vieneto testų pavyzdžiai, kai failas SpecRunner.html yra atsakingas už „Jasmine“ kodo, kuris apima šaltinio failus ir bandomuosius failus, susiejimą, pažiūrėkime jo turinį:
 „Jasmine Spec Runner“ v2.2.0 
Kaip matome, tai gana paprasta ir leidžia mums apibrėžti savo bandymų bazinę struktūrą, padedant mums, kur pradėti šiame vienetų testų pasaulyje. Savaime suprantama, kad gera idėja pažvelgti į mūsų platinimo kodą Jazminas kad galėtume susipažinti su jos veikimo būdu.
Svarbu tai paminėti Jazminas ne tik kodu, parašytu naudojant tik „JavaScript“, galime išbandyti tas programas, sukurtas naudojant Backbone.js arba KampinisJS, net jos universalumas yra daug platesnis ir leidžia mums atlikti serverio bandymus tuo atveju, kai mes naudojame Node.js.
RekomendacijaJazminas Tai sistema, kuri mums labai padeda atliekant vienetinius bandymus, tačiau joje vartojamos sąvokos nėra tokios paprastos, ją palaiko tam tikra pažangi praktika. „JavaScript“ pvz., sugeneruoti HTML naudojant šią funkciją createDom () į jį įterpti elementus, paminėti kai kurias iš šių charakteristikų, todėl rekomenduojame pasivaikščioti po dokumentaciją „JavaScript“ būti labiau pasirengusiems būsimoms pamokoms.
Tuo baigėme šią pamoką, kurioje galėjome žengti pirmuosius žingsnius Jazminas, šiek tiek pažvelgti į motyvaciją kurti įrankius išbandyti „JavaScript“ ir kaip į elgesį orientuotas vystymasis padeda mums sukurti geresnius testus, taip pat matyti, kaip Jazminas yra gana lanksti testavimo sistema, leidžianti mums naudoti tą patį egzempliorių visų tipų kodams patikrinti „JavaScript“ mūsų programose.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave