[[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)