Express.js uygulamamda küçük bir modülü test etmek için Mocha kullanıyorum. Bu modülde, işlevlerimden biri bir dizi döndürüyor. Dizinin belirli bir girdi için doğru olup olmadığını test etmek istiyorum. Ben böyle yapıyorum:
suite('getWords', function(){
test("getWords should return list of numbers", function() {
var result = ['555', '867', '5309'];
assert.equal(result, getWords('555-867-5309'));
});
});
Bu çalıştığında, aşağıdaki onaylama hatasını alıyorum:
AssertionError: ["555","867","5309"] == ["555","867","5309"]
Ancak, testimi bir olarak değiştirdiğimde assert.deepEqual, test iyi geçiyor. Bir ==vs durumu olup olmadığını merak ediyordum ===ama girersem
[1,2,3] === [1,2,3]
node.js komut satırına girdim, hala yanlış alıyorum.
Diziler neden diğer değerlerin yaptığı gibi karşılaştırmaz (ör. 1 == 1)? ve assert.equal ile assert.deepEqual arasındaki fark nedir?
deepEqual(); gerçekten karşılaşana kadar karşılaştırmada düşündüğünüz bir şey değil.