JavaScript Test Automatizálási Keretrendszerek László Szikszai 2017. Március 09.
Keretrendszerek Jasmine, Mocha 1 Selenium WebDriver 2 Chai 3 Egyéb csomagok 4
Jasmine Teszt végrehajtási keretrendszer describe, it, beforeEach, afterEach, beforeAll, afterAll expect, spyOn, pending Szinkron/aszinkron támogatás http://jasmine.github.io/ describe: teszt sorozat it: teszt eset beforeEach: funkció, amit minden teszt eset előtt végrehajt afterEach: funkció, amit minden teszt után végrehajt beforeAll: funkció, amit az összes teszt eset végrehajtása előtt végrehajt afterAll: funkció, amit az összes teszt eset végrehajtása után végrehajt expect: vizsgálatre használjuk, egy kijelentést tesztelünk vele spyOn: különböző funkciók untázására (mock) használjuk pending (xdescribe, xit): függővé tehetünk egyes sorozatokat vagy eseteket
Mocha Teszt végrehajtási keretrendszer describe, it, beforeEach, afterEach, before, after Nincs expect, Nincs spy (describe|it).(skip|only) https://mochajs.org/ describe: teszt sorozat it: teszt eset beforeEach: funkció, amit minden teszt eset előtt végrehajt afterEach: funkció, amit minden teszt után végrehajt before: funkció, amit az összes teszt eset végrehajtása előtt végrehajt after: funkció, amit az összes teszt eset végrehajtása után végrehajt Függő teszt eset és/vagy sorozat a .skip-et jelölhető Ha csak egy adott teszt esetet vagy sorozatot akarunk végrehajtani, akkor a .only használható
Selenium WebDriver Web böngésző automatizálási keretrendszer HTML DOM elemeket tudunk megfogni az oldalon és interakcióba léphetünk velük (pl: kattintás) Chome, IE, Firefox, Safari, stb http://www.seleniumhq.org /projects/webdriver/
Chai Ellenörző (assertion) könyvtár (csomag) Expect, should And, to, a, equal Kiegészítők: chai-as- promised, chai-datetime http://chaijs.com/ Expect, should: egy állítást fogalmazunk meg valamilyen értékre To: feltétel And: kötőszó Equal: egyenlőség vizsgálat Not: tagadás Eventually: promise-ok kezelése
Egyéb csomagok Sinon – csomag teszt utánzatok kezelésére- http://sinonjs.org/ Mockery – csomag NPM csomagok utánzására Nock – csomag HTTP requestek utánzására
Kérdés?
Feladat Teszteljük az EPAM Career oldalát: https://www.epam.com/careers Teszt tervezés Teszt implementáció git clone https://github.com/szikszail/ta-course.git cd ta-course git checkout initial