Ruby ir viena no populārākajām servera puses programmēšanas valodām tās vienkāršās sintakses un elastības dēļ. Šī uz objektu orientētā valoda galvenokārt tiek izmantota tīmekļa izstrādē, datu zinātnē, DevOps un automatizācijā, tīmekļa kopēšanā un statisku vietņu izveidē.
Tomēr ar Ruby izstrādes vidi nekad nevar pietikt bez testiem. Par laimi, ir dažādi testēšanas ietvari, kas paredzēti Ruby programmēšanas valodai.
Šajā rakstā mēs definēsim Ruby testēšanas sistēmu, apspriedīsim, kāpēc testēšana ir svarīga, veidojot Ruby lietotnes, un izcelsim dažus no labākajiem Ruby testēšanas ietvariem, kas jums vajadzētu izmantot.
Kas ir Ruby testēšanas sistēma?
Testēšanas sistēma ir rīks, kas novērtē un pārbauda, vai programmatūras lietojumprogramma vai produkts darbojas, kā paredzēts.
Tipiskajai Ruby testēšanas sistēmai ir rīku komplekts, kas palīdz izstrādātājiem un kvalitātes nodrošināšanas inženieriem rakstīt testus uz Ruby balstītām lietojumprogrammām.
Testēšana notiek dažādos veidos, piemēram, regresijas testēšana, funkcionālā pārbaude, vienību pārbaude un lietojamības pārbaude, lai pieminētu dažus.
Rubīna pārbaude ir svarīga šādu iemeslu dēļ:
- Identificē drošības apdraudējumus: kad Ruby lietojumprogramma tiek rūpīgi pārbaudīta, ir viegli atklāt drošības kļūdas, kas var apdraudēt lietotāja datus un privāto informāciju.
- Ietaupa naudu: kļūdu labošana var būt dārga, ja lietotne jau darbojas. Pārbaudes laikā kļūdas tiek identificētas pietiekami agri, lai tās varētu novērst pirms lietotnes vai atjauninājuma izlaišanas.
- Klientu apmierinātība: galalietotāji vienmēr ir attīstības centrālais punkts. Lietojamības testi nodrošina, ka programmatūras lietojumprogrammas darbojas, kā paredzēts, un apmierina klientu vajadzības.
- Uztur uzņēmumam labu reputāciju: biznesa pasaulē vienmēr būs konkurence. Lietojumprogramma bez kļūdām, visticamāk, piesaistīs labas atsauksmes no gala lietotājiem.
Šīs ir dažas no labākajām Ruby testēšanas sistēmām
Minitests
Minitest ir testēšanas sistēma, kas atbalsta uz uzvedību balstītu izstrādi, uz testiem balstītu izstrādi, salīdzinošo novērtēšanu un izsmiešanu. Tam ir pilns testēšanas komplekts.
Iespējas
- Viegls: salīdzinot ar citiem ietvariem, piemēram, RSpec, Minitest ir viegls, taču joprojām atbilst rēķinam.
- Integrē ar citiem ietvariem: vienā un tajā pašā lietotnē varat izmantot Minitest ar tādiem ietvariem kā Sinatra un Ruby on Rails un testēšanas ietvariem, piemēram, RSpec.
- Nāk ar daudziem paplašinājumiem: piemēram, minitest-colorize paplašinājums iekrāso izvades, lai parādītu, kuri testi ir nesekmīgi un kuri iztur.
- Atgriezeniskā saderība: Minitest var izmantot ar jaunākām un vecākām Ruby versijām.
Minitest ir iepakots kā dārgakmens.
Jūs varat iekļaut gemfile kā;
dārgakmens ‘minitest’, ‘~> 5.18’
Pēc tam varat to instalēt, izmantojot šo komandu;
gem instalēšanas minitests
Testa vienība
Test-unit ir Ruby vienības testēšanas sistēma no xUnit saimes. Inženieri var rakstīt testus, pārbaudīt rezultātus un automatizēt testus.
Iespējas
- Pārbaudes gadījumu definīcija: Jūs varat definēt atsevišķus testa gadījumus, izmantojot Test-Unit. Katrs atsevišķais pārbaudes gadījums var ietvert vairākus testus.
- Testa komplekti: varat grupēt testa gadījumus testa komplektos un pēc tam palaist tos kā vienu vienumu.
- Apgalvojumi: šajā ietvarā ir dažādi apgalvojumi, kurus varat izmantot, lai pārbaudītu koda darbību testēšanas procesa laikā.
- Izvadu formatēšana: izmantojot Test::Unit, varat definēt izvades metodes, piemēram, XML un kopsavilkumu.
Testa vienība ir komplektēta kā rubīna dārgakmens.
Jūs varat iekļaut gemfile kā;
gem ‘test-unit’, ‘~> 3.5’, ‘>= 3.5.7’
Pēc tam instalējiet to, izmantojot šo komandu;
gem instalēšanas testa vienība
RSpec
RSpec ir uz uzvedību balstīta Ruby testēšanas sistēma. Rīku komplekts ietver dažādas bibliotēkas, kas paredzētas darbam kopā vai ar citiem neatkarīgiem testēšanas rīkiem.
Galvenās iezīmes
- RSpec-core: tas ir šīs sistēmas skrējējs. Šis rīks piedāvā bagātīgu komandrindu un API koda organizēšanai.
- RSpec-mocks: piedāvā vairākus viltus objektus, ļaujot jums kontrolēt testa vidi, kurā tiek veikti testi.
- RSpec cerības: ir lasāma API, lai parādītu sagaidāmos rezultātus.
- Rspec-rails: varat izmantot RSpec, lai pārbaudītu savu Rails lietojumprogrammu, nevis iebūvēto testa sistēmu.
RSpec ir bezmaksas testēšanas rīks, kas tiek piegādāts kā rubīna dārgakmens.
Jūs varat iekļaut gemfile kā;
gem ‘rspec’, ‘~> 3.12’
Izmantojiet šo komandu, lai to instalētu;
gem instalēt rspec
Kapibara
Capybara ir Ruby testēšanas sistēma, kas pārbauda tīmekļa lietotnes funkcionalitāti, simulējot lietotāju mijiedarbību ar lietojumprogrammu.
Iespējas
- Viegli sākt: ja strādājat ar Rails un Rack lietojumprogrammām, jums nekas nav jākonfigurē, jo Capybara darbojas tā, kā tas ir.
- Darbojas ar dažādiem draiveriem: varat izmantot Capybara ar tīriem Ruby draiveriem, Selenium vai Webkit.
- Jaudīgas sinhronizācijas funkcijas: izstrādātājiem nav jāgaida, līdz asinhronie procesi tiks palaisti manuāli.
- Intuitīvs API: tā API atdarina parasto valodu, ko izmanto klienti.
- Vienkārša integrācija ar citiem testēšanas ietvariem: varat savienot Capybara ar RSpec, Test::Unit un citām testa sistēmām.
Capybara ir atvērtā pirmkoda lietojumprogramma, kas iepakota kā rubīna dārgakmens.
Iekļaujiet to gemfile kā;
dārgakmens „kapybara”, „~> 3,38”
Izmantojiet šo komandu, lai instalētu dārgakmeni;
dārgakmens instalēt kapibaru
Gurķi
Cucumber ir testēšanas sistēma, kas atbalsta uz uzvedību balstītu Ruby izstrādi. Rīku komplektu var izmantot Ruby un Ruby on Rails sistēmā. Visi Gurķu scenāriji ir rakstīti Gherkin sintaksē.
Iespējas
- Vienkārša sintakse: Gherkin teksts ir vienkārša teksta formātā, padarot to saprotamu pat tiem, kas nav tehniķi.
- Paplašināms: varat uzlabot Cucumber funkcionalitāti, izmantojot dažādus spraudņus.
- Integrējas ar citiem testēšanas rīkiem: varat integrēt Cucumber ar testēšanas sistēmām, piemēram, RSpec un Capybara, lai paplašinātu savas garšas iespējas.
- Nepārtrauktas integrācijas atbalsts: Jūs varat integrēt Cucumber ar tādiem rīkiem kā CircleCI un Jenkins.
Gurķis pastāv kā dārgakmens, un to var izmantot bez maksas.
Jūs varat iekļaut gemfile kā;
dārgakmens „gurķis”, „~> 8.0”
Izmantojiet šo komandu, lai instalētu to savā lietotnē;
dārgakmens instalēt gurķi
Būtu Matchers
Shoulda Matchers ir testēšanas ietvars, kas piedāvā ar Minitest un RSpec saderīgus vienu oderējumu, kas pārbauda lietotnes Ruby on Rails funkcionalitāti.
Iespējas
- Vienkāršs: Shoulda Matchers testi ir tikai vienreizēji. Ja šie testi tiktu rakstīti manuāli, tas aizņemtu daudz laika.
- Ir dažas esošās atbilstības: lietotnes testēšanai var izmantot vairāk nekā 30 esošas atbilstības, kas izstrādātas laika gaitā.
- Integrējas ar citiem ietvariem: funkcionālā testēšana ir tikai viena daļa no testēšanas procesa. Pilnīgai testēšanai šī testēšanas sistēma tiek integrēta ar tādiem ietvariem kā RSpec un Minitest.
- Noderīgi kļūdu ziņojumi: testēšanas bibliotēka norāda kļūdas, lai palīdzētu izstrādātājiem rīkoties.
Plecu Matchers ir bezmaksas un tiek piedāvāts kā rubīna dārgakmens.
Varat to iekļaut savā gemfile kā;
dārgakmens ‘shoulda-matchers’, ‘~> 5.3’
Izmantojiet šo komandu, lai instalētu to savā lietotnē;
dārgakmeņu instalējiet vajadzīgās atbilstības
Spināti
Spināti ir augsta līmeņa uz uzvedību balstīta izstrādes testēšanas sistēma. Tas izmanto Gherkin valodu, lai palīdzētu izstrādātājiem definēt izpildāmās specifikācijas savām lietojumprogrammām.
Iespējas
- Nāk ar datu ģeneratoriem: ietvarā ir iebūvētas ģeneratoru metodes, kas palīdz ģenerēt jūsu lietotnes pārbaudes gadījumus.
- Integrējas ar citām testēšanas sistēmām: Spinātus varat integrēt ar RSpec testa komplektu.
- Posma atkārtota izmantošana: varat definēt un atkārtoti izmantot soli savos testos visā lietojumprogrammā.
Spināti ir iepakoti kā dārgakmens.
Varat to pievienot gemfile kā;
dārgakmens „spināti”, „~> 0.10.1”
Izmantojiet šo komandu, lai instalētu Spinātus savā lietotnē;
gem instalēt spināti -v 0.10.1
Haubice
Howitzer ir akceptējama Ruby testēšanas sistēma tīmekļa lietojumprogrammām. Izstrādātājiem un kvalitātes nodrošināšanas inženieriem patīk šī sistēma, jo tā ir ātra izstrādes infrastruktūras izveide.
Iespējas
- Integrējas ar CI/CD rīkiem: varat izmantot Howitizer kopā ar CircleCI un Jenkins, lai testēšanas laikā pārbaudītu savu lietotni.
- Vairāku platformu: šis rīks atbalsta lielāko daļu pārlūkprogrammu, piemēram, Chrome, Internet Explorer, Safari un Firefox.
- Ļauj sadalīt testēšanu: izmantojot Howitzer, varat sadalīt kodu mazos gabaliņos testēšanas nolūkos.
Haubice ir iepakota kā rubīna dārgakmens.
Jūs varat iekļaut Howitzer savā gemfile kā;
dārgakmens ‘haubice’, ‘~> 2.6’, ‘>= 2.6.1’
Lūk, kā to instalēt savā lietotnē;
dārgakmens uzstāda haubici
RSpec klons
RSpec Clone ir minimālistisks ietvars, kas ļauj izstrādātājiem rakstīt izpildāmus sava koda darbības piemērus. RSpec iedvesmo šo rīku.
Iespējas
- Vienkāršs: šim ietvaram ir domēnam specifiska valoda, kas atdarina parastās sarunas.
- Ļauj grupēt pārbaudes gadījumus: varat izmantot apraksta un konteksta sadaļas, lai grupētu piemēru grupas.
RSpec klons ir Rubīna dārgakmens.
Varat to pievienot savam gemfile kā;
gem ‘r_spec-clone’, ‘~> 1,7’
Izmantojiet šo komandu, lai to instalētu;
gem instalēt r_spec-clone
Rāceņi
Rāceņi ir pieņemšanas pārbaudes sistēma. Tas apvieno RSpec un Gherkin funkcijas, lai veiktu testu.
Iespējas
- Atbalsta gan servera puses, gan klienta puses testus: šī sistēma var veikt pilnīgus testus.
- Pārbaužu grupēšana: šī sistēma tiek integrēta ar RSpec testu komplektu, ļaujot izstrādātājiem deklarēt teksta kontekstus un grupas.
- Mocks: pēc integrācijas ar RSpec, Turnip iegūst piekļuvi rspec-mocks dārgakmens. Testēšanā izspēles ir objekti, kas simulē reālu objektu uzvedību.
Rāceņi ir rubīna dārgakmens.
Varat to iekļaut gemfile kā;
dārgakmens „rācenis”, „~> 4,4”
Instalējiet dārgakmeni, izmantojot šo komandu;
dārgakmens instalēt rāceņu
Secinājums
Nevar pietiekami uzsvērt nepieciešamību pārbaudīt Ruby lietojumprogrammas. Iepriekš minēto testēšanas sistēmu pārzināšana palīdzēs labāk izprast izstrādes procesu, ja esat Ruby izstrādātājs vai plānojat par tādu kļūt. Nosakot, ko vēlaties sasniegt ar testiem, ir pirmais solis, lai izvēlētos jūsu lietojumprogrammai ideālo Ruby testēšanas sistēmu.
Pārbaudiet dažus no labākajiem Ruby ietvariem, lai izveidotu savu nākamo tīmekļa lietojumprogrammu.