JasmineJS-평등 검사
Jasmine은 JavaScript 함수와 파일의 동등성을 확인하는 데 도움이되는 많은 메소드를 제공합니다. 다음은 동등 조건을 확인하는 몇 가지 예입니다.
ToEqual ()
ToEqual()Jasmine의 내장 라이브러리에있는 가장 간단한 matcher입니다. 이 메소드에 인수로 주어진 연산 결과가 그 결과와 일치하는지 여부 만 일치합니다.
다음 예제는이 매 처가 어떻게 작동하는지 이해하는 데 도움이 될 것입니다. 테스트 할 파일이 두 개 있습니다.“expectexam.js” 그리고 우리가 테스트해야 할 또 다른 것은 “expectSpec.js”.
Expectexam.js
window.expectexam = {
currentVal: 0,
};
ExpectSpec.js
describe("Different Methods of Expect Block",function () {
it("The Example of toEqual() method",function () {
//this will check whether the value of the variable
// currentVal is equal to 0 or not.
expect(expectexam.currentVal).toEqual(0);
});
});
성공적으로 실행되면 이러한 코드 조각은 다음 출력을 생성합니다. 이러한 파일을 헤더 섹션에 추가해야합니다.specRunner.html 이전 예제에서 지시 한대로 파일.
not.toEqual ()
not.toEqual() toEqual ()과 정반대로 작동합니다. not.toEqual() 값이 함수의 출력과 일치하지 않는지 확인해야 할 때 사용됩니다.
이것이 어떻게 작동하는지 보여주기 위해 위의 예를 수정할 것입니다.
ExpectSpec.js
describe("Different Methods of Expect Block",function () {
it("The Example of toEqual() method",function () {
expect(expectexam.currentVal).toEqual(0);
});
it("The Example of not.toEqual() method",function () {
//negation testing expect(expectexam.currentVal).not.toEqual(5);
});
});
Expectexam.js
window.expectexam = {
currentVal: 0,
};
두 번째 expect 블록에서 우리는 currentVal currentVal의 값이 0이므로 5와 같으므로 테스트를 통과하고 녹색 출력을 제공합니다.
되려고()
toBe()matcher는 toEqual ()과 비슷한 방식으로 작동하지만 기술적으로 서로 다릅니다. toBe () 매처는 객체의 유형과 일치하지만toEqual() 결과의 동등성과 일치합니다.
다음 예제는 toBe () 매처의 작동 원리를 이해하는 데 도움이 될 것입니다. 이 매처는 JavaScript의 "==="연산자와 정확히 동일하지만 toEqual ()은 JavaScript의 "=="연산자와 유사합니다.
ExpectSpec.js
describe("Different Methods of Expect Block",function () {
it("The Example of toBe() method",function () {
expect(expectexam.name).toBe(expectexam.name1);
});
});
Expectexam.js
window.expectexam = {
currentVal: 0,
name:"tutorialspoint",
name1:tutorialspoint
};
우리는 우리의 expectexamJavaScript 파일. 두 개의 새로운 변수를 추가했습니다.name 과 name1. 이 두 추가 변수의 차이점을 찾으십시오. 하나는 문자열 유형이고 다른 하나는 문자열 유형이 아닙니다.
다음 스크린 샷은 빨간색 십자가가이 두 값이 같지 않은 반면 같을 것으로 예상되는 테스트 결과입니다. 따라서 테스트가 실패합니다.
두 변수를 모두 돌려 보겠습니다. name 과 name1 문자열 유형 변수로 동일하게 실행 SpecRunner.html다시. 이제 출력을 확인하십시오. toBe ()는 변수의 동등성과 일치 할뿐만 아니라 변수의 데이터 유형 또는 객체 유형과도 일치 함을 증명합니다.
되지 않도록()
앞서 살펴본 것처럼 toBe () 메서드의 부정 일뿐입니다. 예상 결과가 함수 또는 JavaScript 파일의 실제 출력과 일치하면 실패합니다.
다음은 not.toBe () 매처의 작동 방식을 이해하는 데 도움이되는 간단한 예제입니다.
describe("Different Methods of Expect Block",function () {
it("The Example of not.toBe() method",function () {
expect(true).not.toBe(false);
});
});
여기서 Jasmine은 true와 false를 일치 시키려고합니다. true는 false와 같을 수 없으므로이 테스트 케이스는 유효하고 통과합니다.