Express.jsアプリケーションで小さなモジュールをテストするためにMochaを使用しています。このモジュールでは、私の関数の1つが配列を返します。配列が特定の入力に対して正しいかどうかをテストしたいと思います。私はこのようにしています:
suite('getWords', function(){
test("getWords should return list of numbers", function() {
var result = ['555', '867', '5309'];
assert.equal(result, getWords('555-867-5309'));
});
});
これを実行すると、次のアサーションエラーが発生します。
AssertionError: ["555","867","5309"] == ["555","867","5309"]
ただし、テストをに変更するassert.deepEqual
と、テストは正常に合格します。==
vsの場合なのかと思っていたのですが===
、入ったら
[1,2,3] === [1,2,3]
node.jsコマンドラインに、私はまだfalseを取得します。
配列が他の値と比較しないのはなぜですか(例1 == 1
)?そして、assert.equalとassert.deepEqualの違いは何ですか?