내 Express.js 응용 프로그램에서 작은 모듈을 테스트하기 위해 Mocha를 사용하고 있습니다. 이 모듈에서 내 함수 중 하나가 배열을 반환합니다. 주어진 입력에 대해 배열이 올바른지 테스트하고 싶습니다. 나는 이렇게하고있다 :
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]
node.js 명령 줄에 여전히 거짓이 표시됩니다.
배열이 다른 값 (예 :)과 비교하지 않는 이유는 무엇 1 == 1
입니까? assert.equal과 assert.deepEqual의 차이점은 무엇입니까?
deepEqual()
; 실제로 그것을 발견하기 전까지는 비교에서 생각하는 것이 아닙니다.