Pirmie soļi ar jasmīnu

Satura rādītājs
Šodien ir labs laiks, lai kļūtu par izstrādātāju JavaScriptVar teikt, ka tas ir pat aizraujoši, jo tehnoloģijas, kas to ietver, ir diezgan nobriedušas, tīmekļa pārlūkprogrammas ir vairāk standartizētas un katru dienu parādās arvien jaunas lietas, ar kurām spēlēt un eksperimentēt.
JavaScript ir izveidota valoda, un tīmeklis šodien ir galvenā platforma, kur mēs esam redzējuši vienas lapas lietojumprogrammu parādīšanos, tādu MVC ietvaru izplatību kā AngularJS vai Backbone.js, izmantojot servera puses JavaScript ar Node.js un pat mobilās lietojumprogrammas, kas izveidotas tikai, izmantojot HTML, CSS Y JavaScript ar tādām tehnoloģijām kā PhoneGap.
Kopš tās pazemības sākuma JavaScript ir atbildīgs par valodu, lai manipulētu ar datiem un apstiprinātu tos veidlapās HTML un pašlaik to izmanto, lai izveidotu jaudīgas lietojumprogrammas, kuras mēs varam redzēt tīmeklī. To redzot, var teikt, ka JavaScript Tas ir gājis garu ceļu, kā arī rīki, kas parādījās, lai nodrošinātu, ka mums ir tāda pati kvalitāte kā citās valodās.
Viens no šiem rīkiem ir Jasmīns, kas ir nekas vairāk kā uz uzvedību orientēts attīstības ietvars un kas ļauj mums izveidot automatizētus vienības testus programmēšanas valodai JavaScript. Pirms pilnībā izmantot šo rīku, apskatīsim fonu, kas noveda pie tā izstrādes, kā arī galvenos jēdzienus, lai saprastu, kā tas darbojas JavaScript.
Šodien neviens nešaubās par spēku JavaScriptTomēr, strādājot klienta pusē, rodas sarežģījumi, un viens no acīmredzamajiem iemesliem ir tas, ka mēs nevaram kontrolēt tā izpildes vidi. Serverī mums nav šīs problēmas, jo mēs varam palaist noteiktu versiju Node.js bet tīmekļa pārlūkprogrammas gadījumā mēs nevaram lietotājam likt lietot noteiktu versiju Chrome vai Firefox.
Valoda JavaScript ir definēts specifikācijās ECMAScript tāpēc katrai pārlūkprogrammai var būt sava vides ieviešana, lai to palaistu, izraisot nelielas atšķirības vai kļūdas starp tām. Katrs objekts JavaScript tas ir mainīgs, tāpēc mums nav nekādas kontroles, kas neļautu modulim pārrakstīt citu gabalus, lai to ilustrētu, apskatīsim nelielu koda segmentu, kurā mēs redzēsim, cik viegli ir pārrakstīt globālo funkciju console.log:
 console.log ('tests'); console.log = 'pārtraukums'; console.log ('tests');
Apskatīsim atbildi, izmantojot konsoli, kur mēs skaidri redzam kļūdu, jo esam pārrakstījuši funkciju:

Šis valodas veids bija lēmums, kas tika pieņemts tā dizainā, jo tas ļāva izstrādātājiem pievienot tai trūkstošās funkcijas, taču, ņemot vērā šo daudzpusību, ir samērā vieglāk kļūdīties, pat jaunākā valodas versija ieviesa funkciju Objekts.blīvējums kas to novērsa, taču tās atbalsts tika attiecināts tikai uz dažām pārlūkprogrammām.
Vēl viena problēma, ar kuru mēs iepazīstinām JavaScript ir tipu apstrāde, citās valodās, piemēram, “1” + 1, iespējams, radīs kļūdu, bet JavaScript tas radītu 11. Tas var novest pie dažām grūti atrodamām problēmām, piemēram, pieņemsim, ka mums ir šādas lietas:
 var a = 1, b = '5', c = 4, d = 2; var rezultāts = a + b + c * d; console.log (rezultāts);
Redzēsim atbildi caur konsoli, kad pārlūkprogrammā palaižam kodu:

Kā redzam, rezultāts bija virkne, tādēļ, ja mēs gaidījām skaitli īpašā funkcijā vai rutīnā, tas var radīt problēmas, un šīs kļūdas atrašana var nozīmēt dažu mūsu dārgā izstrādes laika izšķiešanu.
Ir svarīgi pieminēt, ka mūsu tikko minētie punkti nav iemesls to neizmantot JavaScriptVienkārši ir jāredz, kur tai ir trūkumi, bet tas nenozīmē, ka tā ir slikta valoda; mēs pat varam apliecināt, ka tās piedāvātās iespējas ir bezgalīgas attiecībā uz lietojumprogrammu izstrādi un kas ir labāk, mums joprojām ir rīki, kas mēs palīdzēsim ar to pašu labāko praksi.
Kā jau minējām, Jasmīns Tas ir neliels ietvars, kas mums palīdz mūsu vienību testos mūsu attīstībā un kurā tiek izmantota uz uzvedību orientētas attīstības filozofija, kuru mēs izskaidrosim vēlāk, bet pirms turpināt, apskatīsim svarīgu jēdzienu, proti, tie ir vienības testi.
Vienības testi vienības testi Tie ir koda gabali, kas pārbauda mūsu lietojumprogrammas kodā esošo vienību funkcionalitāti, un šī ceļa sākumā izstrādātājam tika atstāta tradicionāla filozofija, kas koncentrējās uz uz pārbaudi orientētu attīstību, nevis uz uzvedību.
Tāpēc tā radītāji Jasmīns viņi pārstrukturē šo tradicionālo testēšanas veidu, kurā izstrādātājs palika bez skaidra priekšstata par to, kur sākt testēšanas procesu, nezinot, ko pārbaudīt un cik liels varētu būt testa modulis, vai pat to, ko viņi sauktu par vienu no šiem testiem . Piemēram, ja mēs izmantojam filozofiju Jasmīns Lai veiktu testus, pieņemsim, ka mums ir mūzikas atskaņotājs, kuram būs šādi pieņemšanas kritēriji: Ņemot vērā atskaņotāju, kad dziesma ir apturēta, atskaņotājam jānorāda, ka dziesma ir apturēta.
Tātad mēs varam ņemt kritēriju un sadalīt to šādi:
  • Ņemot vērā (sākotnējais konteksts)
  • Kad (notikums notiek)
  • Tad (tiek veikta darbība)
Jasmīns ļauj mums tulkot iepriekš minēto kodā, kas tiks uzrakstīts tā, lai bez problēmām atspoguļotu mūsu lietojumprogrammas vērtības, kas var izskatīties šādi:
 aprakstīt ("Spēlētājs", funkcija () {aprakstīt ("Kad dziesma ir apturēta", funkcija () {it ("Tai jānorāda, ka dziesma ir apturēta", funkcija () {});});});
Kā redzam, mūsu kritēriji tika pārcelti uz Jasmīns bez lielām grūtībām, kur mēs varam teikt, ka katrs kritērijs tiek tulkots vienības testā.
Mēs jau varētu paskatīties, kā Jasmīns tā apstrādā kritērijus un pārvērš tos savā sintaksē, izveidojot tam vienības testus, taču, lai tur nokļūtu, vispirms apskatīsim, kā iegūt ietvaru. Lai to izdarītu, mēs ejam uz projekta lapu un lejupielādējam to:

PALIELINĀT

Izpakojot to, mums jādodas uz mapi raj, tur mēs atradīsim visus izplatījumus Jasmīns līdz šim, kur sākt to izmantot, mums jāizvēlas vēlamais izplatījums, vēlams, jaunākais un jāizpako tas mūsu projekta mapē, jāievada mape un jāizpilda fails SpecRunner.html:

Jasmīns Tajā pēc noklusējuma ir daži piemēri dažiem vienības testiem, kur fails SpecRunner.html ir atbildīgs par Jasmine koda saistīšanu, kas ietver avota failus un testējamos failus, apskatīsim tā saturu:
 Jasmine Spec Runner v2.2.0 
Kā redzam, tas ir pavisam vienkārši un ļauj mums noteikt mūsu testu bāzes struktūru, sniedzot palīdzību, kur sākt šajā vienību testu pasaulē. Pats par sevi saprotams, ka ir laba ideja apskatīt mūsu izplatīšanas kodu Jasmīns lai iepazītos ar tā darbību.
Ir svarīgi to pieminēt Jasmīns ne tikai ar kodu, kas rakstīts ar tīru JavaScript, mēs varam pārbaudīt šīs lietojumprogrammas, kas izveidotas, izmantojot Backbone.js vai AngularJS, pat tā daudzpusība sniedzas daudz tālāk un ļauj mums veikt servera puses testus lietotajā gadījumā Node.js.
IeteikumsJasmīns Tā ir sistēma, kas mums daudz palīdz vienību pārbaudēs, tomēr tajā izmantotie jēdzieni nav tik vienkārši, to atbalsta dažas uzlabotas prakses JavaScript piemēram, ģenerēt HTML, izmantojot funkciju createDom () ievietot tajā elementus, pieminēt dažus no šiem raksturlielumiem, tāpēc iesakām izstaigāt dokumentāciju JavaScript būt daudz gatavākiem turpmākajām apmācībām.
Ar to mēs pabeidzām šo apmācību, kurā mēs varētu spert pirmos soļus Jasmīns, mazliet izstaigājot motivāciju izveidot instrumentus, ar kuriem pārbaudīt JavaScript un kā uz uzvedību vērsta attīstība palīdz mums izveidot labākus testus, arī redzot, kā Jasmīns ir diezgan elastīga testēšanas sistēma, kas ļauj mums izmantot vienu un to pašu gadījumu, lai pārbaudītu visu veidu kodus JavaScript mūsu lietojumprogrammās.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave