Jasmine (JavaScript testing framework)

Jasmineは読みやすくすることを目的としています。 単純なhello worldテストは以下のようなコードになります。describe()はテストスイートを記述し、it()は個々のテスト仕様を記述します。 it()」という名前は、振る舞い駆動開発の考え方に従ったもので、テスト名の最初の単語として機能し、完全な文であるべきです。

以下のコードは、この関数

function helloWorld() { return 'Hello world!';}

そしてその出力が本当にテキスト「Hello world!」であるか検証します。

describe('Hello world', function() { it('says hello', function() { expect(helloWorld()).toEqual('Hello world!'); });});

Jasmineには豊富な組み込みマッチャーのセットも提供されています。 上記の例では、toEqualはhelloWorld()関数から返された値と「Hello world!」文字列が等しいかどうかをチェックします。 これは、他のテストフレームワークで使用されるアサーションと同じです。 Jasmineのマッチャーは単純にブール値を返します。期待値と一致した場合はtrue(テストがパスしたことを示す方法)、期待値と一致しない場合はfalseです。

他の組み込みのマッチャーには、toBe、toBeTruthy、toBeFalsy、toContain、toBeDefined、toBeUndefined、toBeNull、toBeNaN、toBeGreaterThan、toBeLessThan、toBeCloseToが含まれます。 同一性判定器toBeは、2つのものが同じオブジェクトであるかどうかを調べます。 条件マッチャ toBeTruthy, toBeFalsy は、何かが真か偽かを評価し、 toBeDefined, toBeUndefined は、何かが定義されているか未定義かをチェックします。 toBeNull は何かが NULL であるかどうかを調べ、toBeNaN は何かが数字でないか (NaN) を調べます。 精度マッチャー toBeCloseTo は2つのパラメータを受け取り、2番目のパラメータで示されるある一定の小数点の精度が与えられたときに、数値が最初のパラメータに近いかどうかをチェックします。

特別な組み込み Matcher toThrow は、例外がスローされたことを確認するために使用されます。

describe('Expect to throw an exception', function() { it('throws some exception', function() { expect( function(){ throw('Some exception'); }).toThrow('Some exception'); });});

Jasmineには、カスタムマッチャー、スパイ、非同期仕様のサポートなど、他にも様々な機能があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です