지난주에 배웠어요: 테스트 구동 개발 안내

4914 단어 tddangular
선결 조건: 각도.js
지난 몇 년 동안 저는 자신의 개발 생활을 시작하면서 저에게 두려운 실천은 테스트 구동의 개발이었습니다.그것은 주로 이러한 사실에서 비롯되었다. 내가 대회에서 그것을 나의 코드 라이브러리에 실현한 적이 없다.내가 곧 진행될 TDD 면접을 준비할 때 모든 것이 달라졌다.그래서 연습을 위해 이번 주 시간을 두려움과 오해의 연습에 바치기로 했습니다.

뭐?
그럼 테스트 구동 개발은 무엇입니까?
Wikipedia에 따르면 테스트 드라이브 개발(TDD)은 소프트웨어 개발 과정으로 소프트웨어가 완전히 개발되기 전에 소프트웨어 수요를 테스트 용례로 전환하고 모든 테스트 용례에 대한 중복 테스트 소프트웨어를 통해 모든 소프트웨어 개발을 추적한다.이것은 먼저 소프트웨어를 개발한 후에 테스트 용례를 만드는 것과 상반된다.
그래, 그게 무슨 뜻이야?
다른 경우words는 먼저 프로그램의 모든 기능의 테스트 용례를 만들고 테스트에 실패하면 새로운 코드를 작성하여 테스트를 통해 코드를 간단하고 결함이 없도록 한다.

어때요?

그렇다면 테스트 구동 개발work은 도대체 어떻게 실현된 것일까?
  • 기능이나 오류 요청을 읽고 이해하며 처리합니다.
  • 컴파일러 테스트를 통해 수요를 번역한다.열 재부팅을 설정하면, 단원 테스트가 실행되고 실패합니다. 코드가 실행되지 않았기 때문입니다.
  • 요구에 맞는 코드를 작성하고 실현한다.모든 테스트를 실행하고 이 절차를 반복하지 않으면 테스트를 통과해야 합니다.
  • 재구성을 통해 코드를 정리합니다.
  • 씻기, 거품 일으키기 및 중복.
  • 주: 각도 테스트에는 두 가지 주요 유형의 테스트가 있습니다.
    Aunit test는 테스트 단원의 방법으로 단원은 시스템에서 논리적으로 격리할 수 있는 최소 코드 세그먼트이다.대부분의 프로그래밍 언어에서, 이것은 함수, 하위 루틴, 방법 또는 속성이다.
    End to end 테스트는 응용 프로그램의 작업 흐름을 처음부터 끝까지 검증하는 과정이다.이러한 테스트 방법은 시스템의 전체 기능을 검증하기 위해 실제 사용자 장면을 복제하는 데 목적을 둔다.
    TDD 예:
    참고: Jasmine을 사용하여 코드를 테스트합니다.Jasmine는 JavaScript 코드를 테스트하는 데 사용되는 비헤이비어 구동 개발 프레임워크로, 이 코드는Karma를 잘 처리할 수 있다.Karma와 유사하게 Angular 문서에서 권장하는 테스트 프레임워크이기도 합니다. Angular CLI를 사용하여 설정하기 때문입니다.Jasmine도 의존 관계가 없고 DOM이 필요하지 않습니다.
    터미널에서 다음 명령을 실행해서 새로운 각도 항목을 만들 것입니다.ng new zoo다음에, 나는'zoo'라는 새 구성 요소를 만들 것이다.ng generate component zoo
    현재 새 Angular 프로젝트가 만들어졌습니다. 터미널로 다시 가서 다음 명령을 실행할 것입니다.ng test단말기 출력은 아래 그림과 같다.

    또한 모든 초기 테스트가 통과되었음을 알 수 있는 브라우저 창이 열립니다.깔끔해, 응?

    첫 번째 단계에서, 나는 내가 어떤 새로운 기능을 구축하고 싶은지 확실히 알아야 한다.이 예에서, 나는 나의 조오 구성 요소의 이름이 있기를 바란다.
    그 다음으로 나는 단원 테스트를 통해 수요를 번역해야 한다.zoo.component.spec.ts에서 다음 테스트를 작성합니다.
     it('should have a name', () => {
        expect(component.zooName).toBeTruthy();
      });
    
    어떤 코드도 실행되지 않았기 때문에 테스트가 실패했음을 알 수 있습니다.

    세 번째 단계는 내가 지금 테스트를 통과시킬 코드를 실현해야 한다는 것을 설명한다.이 예에서 나는 어떻게 이 점을 해낼 것인가?zoo 구성 요소에'named '라는 새 속성을 만들고 값을 추가하기만 하면 됩니다.

    잘 됐다!우리 모든 테스트 통과했어!
    이것은 간단한 예로 재구성할 필요가 없지만, 다음 단계에 우리는 보통 네 번째 단계로 들어가 재구성하기를 희망한다.
    봐라!TDD를 사용하여 첫 번째 어플리케이션 기능을 구현했습니다!
    왜?
    테스트 드라이브 개발은 개발자로 하여금 우리의 코드가 예상된 조건하에서 100% 작업할 것이라고 믿게 한다.
    TDD는 다음과 같은 기능과 이점을 제공합니다.
    코드가 건장하기 때문에 더 빠른 혁신과 지속적인 납품을 실현할 수 있다.
    그것은 당신의 코드를 유연성과 확장성을 가지게 합니다.코드는 재구성하거나 이동할 수 있지만, 코드를 파괴할 위험이 가장 적다.
    테스트 자체는 이미 테스트를 거쳤다.테스트의 관건적인 특징은 테스트가 실패할 수 있다는 것이다. 개발팀은 모든 새로운 테스트가 실패했는지 검증할 것이다.
    설계에 따라 생성된 코드는 테스트하기 쉽다.
    필요한 기능만 작성했기 때문에 수요를 실현하는 데 정력을 거의 낭비하지 않았다.

    좋은 웹페이지 즐겨찾기