Express.js uygulamasında küçük bir modülü test etmek için Mocha kullanıyorum. Bu modülde, işlevlerimden biri bir dizi döndürür. Verilen bir girdi için dizinin doğru olup olmadığını test etmek istiyorum. Böyle yüzden yapıyorum: Ben bir assert.deepEqual
benim testini değiştirdiğinizdeMocha ile Javascript testinde assert.equal ve assert.deepEqual arasındaki fark nedir?
AssertionError: ["555","867","5309"] == ["555","867","5309"]
Ancak test ince geçer: Bu çalıştığında
suite('getWords', function(){
test("getWords should return list of numbers", function() {
var result = ['555', '867', '5309'];
assert.equal(result, getWords('555-867-5309'));
});
});
, aşağıdaki onaylama işlemi hatası alıyorum. o ==
vakası ===
vs oldu acaba ama node.js komut satırına
[1,2,3] === [1,2,3]
girerseniz, hala yanlış olsun.
Diziler neden diğer değerlerin karşılaştırmasını yapmıyorlar (ör. 1 == 1
)? ve assert.equal ve assert.deepEqual arasındaki fark nedir?
'deepEqual()' ın harika açıklaması; Gerçekten karşınıza gelene kadar karşılaştırmada düşündüğünüz bir şey değil. – brandonscript