B-Teck!

お仕事からゲームまで幅広く

【JavaScript】JavaScriptのテストフレームワーク、「jasmine」の使い方メモ

ネタ元

下記を参考に自分の必要な部分だけ抜粋しました

jasmin概要

  • Suite は describe 関数を使い、 Spec は it 関数で宣言する。
  • this はspecごとに初期化される。spec内のテストでは使いまわす。
  • suite、specの一文字目にx をつけることで実行しないようにできる。
        xdescribe('suite', function() {

            xit('spec', function() {
                console.log("suite spec");
            });

        });

テストメソッド

用途 方法 備考
テスト開始前に処理 beforeEach();
テスト終了後に処理 afterEach();
foo === 1 であるか expect(foo).toBe(1);
foo !== 1 であるか expect(foo).not.toBe(1); expectの後にnotを挟むと否定比較になる
オブジェクト・配列の各要素比較 expect(obj1).toEqual(obj2);
expect(array1).toEqual(array2);
指定クラスのインスタンス expect(myClass).toEqual(jasmine.any(MyClass));
obj.fugaの値をチェックする expect(obj).toEqual(jasmine.objectContaining({fuga: 'FUGA'}));
文字列が正規表現にマッチするか expect(foo).toMatch(/^[a-z]+$/);
undefined でないことをチェックする expect(a).toBeDefined();
undefined であることをチェックする expect(a).toBeUndefined();
null であることをチェックする expect(null).toBeNull();
要素が存在するか expect(element).toExist();
真と評価する値か expect(1).toBeTruthy();
真と評価する値か expect(0).toBeFalsy();
配列に指定した要素が含まれるか expect([1, 2, 3]).toContain(3);
数値の大小比較 expect(1).toBeLessThan(2); 小なり
expect(4).toBeGreaterThan(3); 大なり
有効数字0桁で3に等しいか expect(3.141592).toBeCloseTo(3, 0);
例外がスローされるか expect(func).toThrow();
正しい例外がスローされたか expect(func).toThrow('test');