체이 테스트 배열 동일성이 예상대로 작동하지 않습니다.
다음이 실패하는 이유는 무엇입니까?
expect([0,0]).to.equal([0,0]);
그리고 그것을 테스트하는 올바른 방법은 무엇입니까?
역시..equal
에서는 데이터가 아닌 개체를 비교하며, 사용자의 경우에는 두 개의 서로 다른 배열입니다.
사용하다.eql
값을 깊이 비교하기 위해.이 링크를 확인하십시오.
아니면 당신은 사용할 수 있습니다..deep.equal
와 같은 시뮬레이션을 하기 위해.eql
.
아니면 당신의 경우에는 확인하고 싶을 수도 있습니다. .members
.
에 사용할 수 있는 asserts.deepEqual
링크를 걸다
딥 이퀄을 사용해 보십시오.중첩된 배열과 중첩된 Json을 비교합니다.
expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' });
순서가 지정되지 않은 심층 등식의 경우, 멤버 사용
expect([1,2,3]).to.have.members([3,2,1]); // passes expect([1,2,3]).to.have.members([1,2,3]); // passes expect([1,2,3]).to.eql([3,2,1]); // fails
import chai from 'chai';
const arr1 = [2, 1];
const arr2 = [2, 1];
chai.expect(arr1).to.eql(arr2); // Will pass. `eql` is data compare instead of object compare.
사용할 수 있습니다..deepEqual()
const { assert } = require('chai');
assert.deepEqual([0,0], [0,0]);
사용할 수 있습니다.
https://www.chaijs.com/api/assert/ #dep_same dep members
assert.sameDeepMembers(set1, set2, [message])
라고 단언합니다.set1
그리고.set2
모든 순서에서 동일한 구성원을 가집니다.완전 동일성 검사를 사용합니다.
assert.sameDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [{ b: 2 }, { a: 1 }, { c: 3 }], 'same deep members');
이것이 chai를 사용하여 연관 배열을 심층적으로 테스트하는 방법입니다.
저는 두 개의 연관 배열이 같다고 주장하는 데 문제가 있었습니다.나는 이것들이 자바스크립트에서 실제로 사용되어서는 안 된다는 것을 알지만 나는 연관 배열에 대한 참조를 반환하는 레거시 코드를 중심으로 단위 테스트를 작성하고 있었습니다. :-)
함수 호출 전에 변수를 개체(어레이가 아님)로 정의하여 이 작업을 수행했습니다.
var myAssocArray = {}; // not []
var expectedAssocArray = {}; // not []
expectedAssocArray['myKey'] = 'something';
expectedAssocArray['differentKey'] = 'something else';
// legacy function which returns associate array reference
myFunction(myAssocArray);
assert.deepEqual(myAssocArray, expectedAssocArray,'compare two associative arrays');
언급URL : https://stackoverflow.com/questions/17526805/chai-test-array-equality-doesnt-work-as-expected
'programing' 카테고리의 다른 글
일반적으로 Node.js는 10,000개의 동시 요청을 어떻게 처리합니까? (0) | 2023.05.21 |
---|---|
Azure SDK 2.2에서 2.6으로 업그레이드 (0) | 2023.05.21 |
로컬 커밋 후 파일을 다시 스테이징 해제하려면 어떻게 해야 합니까? (0) | 2023.05.21 |
16진수 편집기를 통한 Excel VBA 암호 (0) | 2023.05.21 |
C++용 NumPy 스타일 어레이? (0) | 2023.05.21 |