আমি আমার এক্সপ্রেস.জেএস অ্যাপ্লিকেশনটিতে একটি ছোট মডিউল পরীক্ষা করতে মোচা ব্যবহার করছি। এই মডিউলটিতে, আমার একটি ফাংশন একটি অ্যারে প্রদান করে। আমি প্রদত্ত ইনপুটটির জন্য অ্যারেটি সঠিক কিনা তা পরীক্ষা করতে চাই। আমি এইভাবে করছি:
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
, পরীক্ষাটি ভাল হয়ে যায়। আমি ভাবছিলাম যে এটি কোনও ==
বনামের ঘটনা ===
, তবে আমি যদি প্রবেশ করি
[1,2,3] === [1,2,3]
নোড.জেএস কমান্ড লাইনে, আমি এখনও মিথ্যা পেয়েছি।
অ্যারেগুলি অন্য মানগুলি যেমন (যেমন 1 == 1
) তুলনা করে না ? এবং assert.equal এবং assert.DPEqual এর মধ্যে পার্থক্য কী?
deepEqual()
; আপনি বাস্তবে এটি না আসা পর্যন্ত আপনি তুলনা করার বিষয়ে কিছু ভাবেন না।