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