ネタ元
下記を参考に自分の必要な部分だけ抜粋しました
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'); |