2014年4月21日月曜日

mocha/chaiで配列を比較するとき

Node.jsのmochaと言うテストフレームワークでテストを実行し、chaiでassertしようとしたときに、うまくassertされない問題が発生した。こんな感じで。
describe('', function(){
  describe('', function(){
    it('', function(){
      [].should.equal([]);
    });
  });
});
これはequalが配列を1つのオブジェクトとして比較するため、配列内の1つずつのデータを比較しているわけではないために発生しているらしい。
"equal"を"eql"に書き換えることで、正しくassertされるようになった。

ref: http://stackoverflow.com/questions/17526805/chai-test-array-equality-doesnt-work-as-expected