자바스크립트 테스트 시작하기
7025 단어 learninpublictestingjavascript
단위 테스트의 일반적인 구조
단위 테스트는 일반적으로 3가지로 구성됩니다.
미니 테스트 라이브러리를 구축해 봅시다
화씨에서 섭씨로 온도를 변환할 수 있는 작은 함수를 만들어 봅시다. 함수 구축을 시작하기 전에 함수에 대한 몇 가지 가능한 테스트 사례를 생각할 수 있습니다.
기능을 실제로 구현하기 전에 테스트를 빌드하고 작성하는 이 프로세스를 TDD(Test-Driven Development)라고 합니다.
function ftoc(f) {
return f - 32 * 5/9;
}
단위 테스트의 구조를 살펴보면 테스트 작업을 추상화하는 데 도움이 되는 몇 가지 유틸리티 함수를 작성해 보겠습니다.
function expect(result) {
return {
toBe: function(expected) {
if (result !== expected) {
throw new Error(`Expected ${expected}, but got ${result}`)
}
}
}
}
function it(description, fn) {
try {
fn();
console.log(`✅ ${description}`)
} catch (error) {
console.log(`❌ ${description}: ${error}`)
}
}
it("Convert 0F to Celcius", function() {
expect(ftoc(0)).toBe(-17.77777777777778)
})
it("Convert Positive Temparaterue to Celcius", function() {
expect(ftoc(5)).toBe(-15)
})
it("Convert Negative Temparature to Celcius", function() {
expect(ftoc(-4)).toBe(-20)
})
위의 코드를 실행하면 다음과 같은 출력이 생성됩니다.
이는 우리의 변환 기능이 한 경우에만 작동하고 다른 두 경우에는 실패함을 보여줍니다. 함수를 수정하려면 변환 함수를 수정하기 위해 괄호 세트를 포함하도록 함수를 업데이트하십시오.
function ftoc(f) {
return (f - 32) * 5/9;
}
테스트를 다시 실행하면 다음과 같은 결과가 나타납니다.
결론
글쎄요, 쉬웠죠? 우리는 우리가 작성하는 모든 코드를 테스트하는 데 사용할 수 있는 몇 줄의 코드로 간단한 테스트 라이브러리를 구축했습니다. 생산에 사용할 수 있는 것과는 거리가 멀지만 주요 아이디어와 구조는 그대로 유지됩니다. 프로덕션 환경에서 사용하기에 더 적합한 정확한 줄 번호 및 스택 추적과 함께 실패한 테스트에 대한 자세한 설명과 같은 고급 기능을 제공하는 Jest, Mocha 등과 같이 인기 있고 기능이 풍부한 테스트 프레임워크가 많이 있습니다.
의견에 대한 귀하의 견해와 피드백을 듣고 싶습니다. 당신은 또한 나를 때릴 수 있습니다.
Reference
이 문제에 관하여(자바스크립트 테스트 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/_akshaym/getting-started-with-testing-javascript-3h7d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)