javascript - 프론트엔드 자동화 테스트란 무엇입니까?
怪我咯
怪我咯 2017-07-05 10:51:12
0
1
956

저는 Vue cli를 자주 사용하여 프로젝트를 빌드합니다
하지만 전혀 이해하지 못합니다

으아아아

단위 테스트란 무엇이며 e2e 테스트란 무엇입니까? ? 코드를 작성할 때 어떻게 해야 합니까? ?

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(1)
过去多啦不再A梦

필수적으로 보면 테스트를 하지 않는 것은 빨간 신호등을 통과하여 운전하는 것과 같다고 생각합니다. 반드시 사고가 발생하지는 않지만 코드의 양이 점점 늘어나고 주행 거리가 길어질수록 사고가 발생하게 됩니다. 어느 날.

프로젝트가 있는 경우:

으아악

단위 테스트

콘텐츠: 프로젝트의 단위를 테스트합니다. 함수는 유닛이 될 수 있고, 서브모듈은 유닛이 될 수 있습니다

목적: 자동화를 통해 더 나은 설계를 유도합니다(예: 고도로 결합된 코드에 대한 단위 테스트를 작성하기가 어렵습니다).

테스트 라이브러리가 없고 위 코드를 테스트하고 싶다면 다음과 같이 할 수 있습니다.

  1. demo.html을 작성하고 위의 코드를 소개하세요

  2. 전달된 요소 ID의 인스턴스화 테스트

  3. 전달된 요소 자체의 인스턴스화 테스트

  4. 스와이프의 다른 기능 테스트

  5. 그리고 콘솔에 현재 테스트 중인 내용과 테스트 결과를 알려주는 내용을 console.log로 기록하는 것이 가장 좋습니다

테스트 프레임워크는 위 프로세스를 완료하고, 테스트 사례를 분류하고, 진행 상황, 테스트 결과를 출력하고, 보고서를 제공하는 등의 작업을 도와줍니다. 모카같은

어설션 라이브러리를 사용하면

을 제외한 모든 작업을 수행할 수 있습니다. ===之外,有很多其他手段去做比较,而且可读性很强,比如:this.obj.should.have.property('id').which.is.a.Number()

관련 라이브러리에는 chai, should.js, http 테스트를 전문으로 하는 superagent 등이 있습니다.

Vue 소스 코드에서 단위 테스트를 작성하는 방법 보기:

Karma는 브라우저 환경에서 코드를 테스트할 수 있는 테스트 도구입니다. 필요한 이유는 코드가 브라우저 측에서 실행되도록 설계되었을 수 있으며, 노드 환경에서 테스트할 때 일부 버그가 노출되지 않을 수도 있기 때문입니다. 또한, 브라우저에 호환성 문제가 있는 경우 Karma는 이에 대한 수단을 제공합니다. 여러 브라우저에서 코드를 자동으로 실행합니다. 브라우저(크롬, 파이어폭스 등) 환경에서 실행합니다. 코드가 노드 측에서만 실행되는 경우 카르마를 사용할 필요가 없습니다.

보도

단위 테스트의 목적은 프로젝트를 작은 단위로 나누는 것입니다. 각 단위 테스트에서 코드 로직의 각 분기를 실행하는 케이스를 설계하여 모든 단위 테스트가 실행될 때 프로젝트의 각 코드 줄이 한번 실행해 보시는 것이 가장 좋습니다. 즉, 커버리지율은 최대한 100%에 가까워야 합니다.

위의 Swiper 코드만 테스트한 경우:

단위 테스트를 위해 다른 분기를 실행합니다. new Swiper(document.getElement('mountNode'))的情况的话,那么覆盖率就只有50%,所以要补上new Swiper('mountNode')

작은 프로젝트의 경우 모든 브랜치를 고려하는 것이 어렵지 않지만 Vue와 같은 프로젝트의 경우 100% 커버리지를 달성하는 것은 매우 이상하게 느껴집니다.

도구:이스탄불

E2E 테스트

엔드 투 엔드 테스트는 주로 비즈니스를 테스트하기 위한 것입니다. 대부분의 경우 로그인과 같은 특정 웹 사이트에서 특정 작업을 브라우저에서 수행하는 것을 의미합니다.

nightwatch 홈페이지 예를 들어보세요:

나이트워치를 사용해본 적은 없지만, 구글에 로그인하고 키워드를 입력해 업체를 검색하는 전 과정을 테스트하고 있다는 것을 쉽게 알 수 있습니다. 이 라이브러리는 페이지에서 사람의 작업을 시뮬레이션하는 많은 기능을 제공하므로 사람의 클릭 입력 작업을 대체하여 자동화된 E2E 테스트를 완료하는 것을 볼 수 있습니다.

Vue 프로젝트의 E2E 테스트가 무엇을 테스트하고 있는지 살펴볼 수도 있습니다.

이 내용에 대해 잘 알고 계시나요? 해당 페이지는 Vue의 비즈니스이기 때문에 공식 웹사이트에서 여러 가지 예시를 테스트하고 있습니다.

현실

불사조전설: 시험은 쓰고싶은대로 쓰는게 아니고, 쓰고싶으면 쓰시면 됩니다~

테스트 작성에는 시간이 많이 걸리며, 프로젝트 코드 작성보다 시간이 더 오래 걸릴 수 있습니다. 게다가 프로젝트 코드가 변경되면 테스트도 수정해야 합니다. 따라서 대부분의 국내 기업에서는 개발자가 테스트를 작성할 수 있는 환경이 없으며, 소프트웨어 품질을 보장하기 위해 테스터에만 의존합니다. 열심히 테스트 작성을 요구하는 회사에 계시다면 소중히 여겨주세요.

테스트를 통해 디자인을 개선할 수 있습니다. Martin Fowler의 테스트 중심 책을 읽어보세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿