나는 QUnit을 가지고 놀고 있는데, 나는 비틀 거리는 것이 하나있다. 왜이 QUnIT RegExp 테스트가 실패합니까?
나는 크롬에이 간단한 테스트를 시도 :deepEqual(new RegExp(), /(?:)/);
나는 new RegExp()
반환 개발자 콘솔에서 /(?:)/
때문에, 통과 것이다 가정했다. '단지'RegExp
에 대해 new RegExp() === /(?:)/
을 수행 할 수는 없지만 toString()
은 동일한 기능을 수행하고 은 모두과 같습니다. 실패
deepEqual(new RegExp(" "),//);
을 그래서, 다음은 첫 번째 테스트에서 :
나는 문자 적 / 비 문자 표기법 차이를 만들 것입니다,하지만이 테스트를 통과하기 때문에 그런 경우가 될 수 없다는 생각
test("test", function() {
deepEqual(new RegExp(), /(?:)/); // fail
deepEqual(new RegExp(" "),//); // pass
equal(new RegExp().toString(), /(?:)/.toString()); // pass
});
따라서 첫 번째 테스트가 실패한 이유는 누군가가 올바른 방향으로 나를 가리킬 수 있습니까?
감사합니다. 귀하의 설명은 매우 분명합니다. – pimvdb
@pimvdb 환영합니다! :) –