describe("サンプルスイート", function() { var hoge; it ("変数の値が true かどうかを確認する", function() { hoge = true; expect(hoge).toBe(true); }); it ("変数の値が false かどうかを確認する", function() { hoge = false; expect(hoge).not.toBe(true); }); });
###用意されている比較用のメソッド ####”===” で比較 toBe
1 2 3 4 5
it (" === で比較する", function() { var hoge = 10; expect(hoge).toBe(10); expect(hoge).not.toBe(null); });
####プリミティブ型もしくはオブジェクトの比較 toEqual
1 2 3 4 5 6 7 8 9
it ("リテラルの比較", function() { var hoge = 10; expect(hoge).toEqual(10); }); it ("オブジェクトの比較", function() { var hoge = {a : 1, b : 2}; var fuga = {a : 1, b : 2}; expect(hoge).toEqual(fuga); });
####正規表現での比較 toMatch
1 2 3 4 5 6
it ("正規表現で比較", function() { var hoge = "hoge fuga fuga"; expect(hoge).toMatch(/hoge/); expect(hoge).toMatch("hoge"); expect(hoge).not.toMatch(/moga/); });
####定義されているかの比較 toBeDefined toBeUndefined
1 2 3 4 5 6 7 8 9 10
it ("定義されているか比較", function(){ var hoge = {a : 1, b : 2}; expect(hoge.a).toBeDefined(); expect(hoge.a).not.toBeUndefined(); }); it ("未定義か比較", function(){ var hoge = {a : 1, b : 2}; expect(hoge.c).not.toBeDefined(); expect(hoge.c).toBeUndefined(); });
####null と比較 toBeNull
1 2 3 4 5 6
it ("null か比較", function(){ var hoge = null; var fuga = 'a'; expect(hoge).toBeNull(); expect(fuga).not.toBeNull(); });
####Booleanでの比較 toBeTruthy toBeFalsy
1 2 3 4 5 6
it ("(!!)での比較", function() { expect(hoge).toBeTruthy(); }); it ("(!!!)での比較", function() { expect(hoge).toBeFalsy(); });
####値が含まれているかの比較 toContain
1 2 3 4 5
it ("配列に値が含まれているかの比較", function() { var array = ['hoge', 'fuga', 'moga']; expect(array).toContain('fuga'); expect(array).not.toContain('saga'); });
####数値の比較 toBeLessThan toBeGeaterThan toBeCloseTo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
it ("数値が指定の値以下かを比較", function() { var a = 3.1; var b = 2.72; expect(b).toBeLessThan(a); expect(a).not.toBeLessThan(b); }); it ("数値が指定の値以上かを比較", function() { var a = 3.1; var b = 2.72; expect(a).toBeGeaterThan(b); expect(b).not.toBeGeaterThan(a); }); it ("数値の桁を合わせて比較", function() { var a = 3.1; var b = 2.72; expect(a).toBeCloseTo(b, 0); expect(a).not.toBeCloseTo(b, 2); });
####NaNかどうか比較 toBeNaN
1 2 3 4
it ("NaNかどうかを比較する", function() { expect(NaN).toBeNaN(); expect(1).not.toBeNaN(); });
####例外かどうか比較 toThrow
1 2 3 4 5 6 7 8 9 10
it("例外を投げるかどうかを比較する", function() { var hoge = function() { return 1 + 2; }; var fuga = function() { return a + 1; }; expect(hoge).not.toThrow(); expect(fuga).toThrow(); });