[[oktatas:web:javascript:javascript_teszt:karma|< Karma]] ====== Karma kezdés ====== * **Szerző:** Sallai András * Copyright (c) 2021, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A Karma ===== A Karma egy tesztfuttató fejlesztői környezet. ===== Telepítés ===== Globális teleptés: npm install -g karma-cli mkdir app01 cd app01 npm install karma --save-dev npm install karma-chrome-launcher --save-dev npm install karma-jasmine --save-dev ===== Előkészítés ===== A jasmine init-re nincs szükség. Interaktív program indítása a futtató beállításkonfiguráció-fájl készítéséhez. karma init $ karma init Which testing framework do you want to use ? Press tab to list possible options. Enter to move to the next question. > jasmine Do you want to use Require.js ? This will add Require.js plugin. Press tab to list possible options. Enter to move to the next question. > no Do you want to capture any browsers automatically ? Press tab to list possible options. Enter empty string to move to the next question. > Chrome > What is the location of your source and test files ? You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js". Enter empty string to move to the next question. > tests/**/*.js 01 09 2021 19:42:48.223:WARN [init]: There is no file matching this pattern. > Should any of the files included by the previous patterns be excluded ? You can use glob patterns, eg. "**/*.swp". Enter empty string to move to the next question. > Do you want Karma to watch all the files and run the tests on change ? Press tab to list possible options. > yes Minden maradhat alapértelmezés, de a tesztek helyét meg kell adnunk. Például: > tests/**/*.js ===== Teszt írása ===== describe('Első teszt', function(){ it('Egyszerűen true értéket várunk', function(){ var actual = true; expect(actual).toBe(true); }) }) ===== Futtatás ===== A teszt indítása: karma start karma.conf.js A karma.conf.js az alapértelmezés, elhagyható: karma start A tesztek böngészőben futnak, de parancssorban látjuk az eredményt. ===== Beállítások ===== A tesztelendő fájlok helyét megadhatjuk a "karma init" futtatása soron, vagy utólag szerkeszthetjük a karma.conf.js fájlt. Háromféle lehetőség: files: [ 'test/**/*spec.js' ], files: [ { pattern: 'test/*.spec.js', included: true } ], files: [ 'test/test01.spec.js' ], ===== Jasmine ===== * https://jasmine.github.io/tutorials/your_first_suite (2021)