読者です 読者をやめる 読者になる 読者になる

expect.js 0.1.2でthrowExceptionがパワーアップした

expect.jsはかなりいいんだけどthrowExceptionでエラーオブジェクトのチェックができなくて微妙だったんでパッチ投げようかと思ったけどまさに自分が実装しようと思ってた機能が実装された。

var expect = require('expect.js');

var fn = function() {
    throw new Error('foo bar')
};

// callbackでエラーオブジェクトを受け取る
expect(fn).to.throwException(function(e) {
  expect(e.message).to.be('foo bar');
});

// e.messageを正規表現でチェックするだけならこれでもOK
expect(fn).to.throwError(/foo/);

あとthrowExceptionって長いからthrowsとかaliasにするといいんじゃないかなーと思ってたらthrowErrorってaliasができてた(throwだと予約後なんでIEとかでエラる)。throwExecptionより全然タイプしやすいんでこれで十分。

あと僕のbug fixパッチも取り込まれた。
https://github.com/LearnBoost/expect.js/pull/8