Tartalomjegyzék

< Karma

Karma kezdés

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

tests/test.js
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