/ / Môže sa Nightwatch použiť na testovanie Rails? - rubín na koľajniciach, rubín, selén, rspec, nightwatch.js

Môže sa Nightwatch použiť na testovanie Rails? - rubín na koľajniciach, rubín, selén, rspec, nightwatch.js

Zhotoviteľ pre naše spustenie nainštalovalTestovací rámec Nightwatch na báze selénu, pretože náš zásobník je ťažký pre reakcie. Ale povedal mi, že sa dá použiť aj na testovanie nášho kódu Rails. Nový dodávateľ naopak povedal, že Nightwatch nemohol robiť jednotkové testy našich regulátorov a modelov Rails (čo mi dáva zmysel).

Kto má pravdu? Myslíte si, že prvý programátor mal na mysli len to, že by sme robili koncové testy (niektoré vstupy vedú k určitým výstupom) a že nie je potrebné testovať podrobnosti o kóde Rails? Myslíme si, ako sa domnievam a ako tvrdí nový dodávateľ, že potrebujeme RSpec alebo iný testovací rámec založený na Ruby, aby sme zvládli náš kódex Rails, ak chceme byť obchodom TDD?

odpovede:

4 pre odpoveď č. 1

Áno, môže sa použiť na testovanie Rails. Ale iba zvonku (len cez prehliadač). Takže žiadne jednotky / kontrolér / Zobraziť testy. Pre tých budete potrebovať MiniTest alebo Rspec.

Moje dva centy (pozri aj komentár od spoločnosti @SteveCarey): Pretože radšej zostávam s tým, čo prichádza s Rails a používam čo najmenšie externé nástroje:

Pozrite sa na systémové testy, ktoré boli zavedené s Rails 5.1, alebo ak ste na staršej verzii, uvidíte, či môžete tieto testy napísať pomocou Capybara / Integration Tests.

aktualizácia:

Viac podrobností nájdete tu: http://guides.rubyonrails.org/v4.1/testing.html#brief-note-about-minitest

Bolo to Test :: Jednotka a dnes je Minitest. Ale základy sú rovnaké, takže to naozaj nezáleží.

Ďalším populárnym testovacím rámcom je RSpec. Ktoré môžete použiť namiesto Minitest / TestUnit, ak chcete. Dávam prednosť Minitestu, ale existujú výhody a nevýhody pre obidva rámce.

Rails 4.2 prišiel s jednotkovými testami, funkčnými / kontrolnými testami a integračnými testami. Vstavaná vec, ktorá sa najviac podobá na Nightwatch, sú integračné testy: http://guides.rubyonrails.org/v4.1/testing.html#integration-testing

Môžete sa tiež pozrieť na knižnice ako Capybara (https://github.com/teamcapybara/capybara), ktorý sám volá rámcový rámec pre akceptáciu. Pekne sa integruje so službou TestUnit / Minitest / Rspec.