17주 차: Jasmine으로 테스트
이번 주에는 Colt Steele The Advanced Web Developer Bootcamp의 Jasmine을 사용한 테스트에 중점을 두었습니다.
-Writing Tests in the Browser
-Jasmine Syntax and Matchers
-Writing Better test with Hooks
-Spies
-Clocks
-TDD and BDD
브라우저에서 테스트 작성
단위 테스트
단위 테스트, 응용 프로그램의 테스트 부분 또는 응용 프로그램의 단위. 매우 일반적으로 각 장치는 애플리케이션이 예상대로 실행되는지 확인하기 위해 개별적으로 독립적으로 테스트됩니다.
Jasmine은 모든 종류의 JavaScript 환경에서 작동하는 테스트 프레임워크입니다.
작동 방식
HTML 파일 만들기
CSS 및 JavaScript 태그 연결
테스트 작성 시작
Jasmine 구문 및 매처
필수 키워드
설명 - "당신에게 ___을(를) 설명하겠습니다."
그것 - "___에 대해 말씀 드리겠습니다."
기대하다 - "내가 기대하는 바는 이렇다."
코드에서
var earth = {
isRound: true,
numberFromSun: 3
}
describe("Earth", function(){
it("is round", function(){
expect(earth.isRound).toBe(true)
});
it("is the third planet from the sun", function() {
expect(earth.numberFromSun).toBe(3)
});
});
매처
toBe/not.toBe
ToBeCloseTo
정의할 예정
toBeFalsey/toBeTruthy
toBeGreaterThan/toBeLessThan
포함하다
동등하다
재스민.any()
Hooks로 더 나은 테스트 작성하기
전에 각각
각 "it"콜백 전에 실행
describe("Arrays", function(){
var arr;
beforeEach(function(){
arr = [1,3,5];
});
});
후마다
각 "it"콜백 전에 실행 - 분해에 유용
설명 블록을 중첩할 수 있습니다.
스파이
Jasmine에는 스파이라는 테스트 이중 기능이 있습니다.
스파이는 모든 함수를 스텁(모방)하고 함수 호출과 모든 인수를 추적할 수 있습니다.
스파이는 스파이가 정의된 describe 또는 it 블록에만 존재합니다.
스파이는 각 사양 후에 제거됩니다.
스파이와 상호 작용하기 위한 특수 매처가 있습니다.
시계
재스민 시계는 시간 종속 코드를 테스트하는 데 사용할 수 있습니다.
jasmine.clock().install()을 호출하여 설치됩니다.
복원을 완료한 후 시계를 제거해야 합니다.
원래 기능.
비동기 코드를 테스트하는 방법
Jasmine은 또한 테스트 비동기 코드가 필요한 사양 실행을 지원합니다.
beforeAll, afterAll, beforeEach, afterEach 및 비동기 작업이 완료될 때 호출되어야 하는 선택적 단일 인수(일반적으로 'done'이라고 함)를 사용합니다.
테스트는 'done'이 호출될 때까지 완료되지 않습니다.
TDD와 BDD
TDD - 테스트 주도 개발
BDD - 행동 주도 개발
TDD의 하위 집합
TDD와 상호 배타적이지 않음
스타일을 장황하게 설명하고 기능의 동작을 설명합니다.
소프트웨어 설계를 테스트할 때 유용
Reference
이 문제에 관하여(17주 차: Jasmine으로 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/code_regina/week-17-testing-with-jasmine-5hkc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)