자바 스 크 립 트 테스트 를 배 우 는 당신 은 동종 업계 에서 가장 밝 은 아이 (여동생) 입 니 다.

5810 단어 자바 script
하나, 몇 가지 개념 (조금 알 아 보기)
ATDD: 승인 테스트 구동 개발 (검수 테스트 구동 개발)
이것 은 인 코딩 이 시작 되 기 전에 고객 을 테스트 디자인 과정 에 가 져 오 는 기술 이다.이것 도 협력 실천 이다. 사용자, 테스트 인원 과 개발 자 는 자동 검수 기준 을 정의 했다.ATDD 는 모든 프로젝트 구성원 이 완성 하고 실행 해 야 할 내용 을 정확하게 이해 하도록 하 는 데 도움 이 된다.만약 시스템 이 테스트 를 통과 하지 않 으 면 빠 른 피드백 을 제공 할 수 있다 는 것 은 요 구 를 만족 시 키 지 못 한 다 는 것 을 의미한다.검수 테스트 는 업무 영역 용어 로 지정 된다.모든 기능 은 진실 하고 평가 할 수 있 는 업무 가 치 를 제공 해 야 합 니 다. 사실은 귀하 의 기능 이 적어도 하나의 업무 목표 로 거 슬러 올 라 가지 않 는 다 면 왜 먼저 그것 을 실시 해 야 하 는 지 알 고 싶 어야 합 니 다.
TDD: Test - driven 개발 (테스트 구동 개발)
자동화 유닛 테스트 를 통 해 소프트웨어 디자인 을 추진 하고 관계 디 결합 에 강제로 의존 하 는 기술 이다.이런 방법 을 사용 한 결 과 는 전면적 인 단원 테스트 로 수시로 운행 하여 소프트웨어 가 정상적으로 작 동 할 수 있 는 피드백 을 제공 할 수 있다.TDD 는 탭 댄스 를 추 는 것 처럼 'ti - ta - ti' 라 는 연구개 발 과정의 리듬 감 을 키 우 는 데 초점 을 맞 췄 다.진정 으로 기능 을 실현 하 는 코드 를 만 들 기 전에 테스트 를 작성 하고 매번 테스트 를 한 후에 재 구성 한 다음 에 똑 같 거나 비슷 한 테스트 를 다시 실행 합 니 다.이 과정 은 각 단원 이 필요 한 규격 에 따라 실 행 될 때 까지 필요 에 따라 여러 번 반복 된다.
BDD: 행동 중심 개발 (행동 구동 개발)
BDD 는 TDD 의 일반 기술 과 원리 와 영역 구동 설계 (DDD) 의 아 이 디 어 를 결합 시킨다.BDD 는 디자인 활동 으로 예상 되 는 행동 에 따라 기능 블록 을 점차적으로 구축 할 수 있 습 니 다.BDD 의 중점 은 소프트웨어 개발 과정 에서 사용 되 는 언어 와 상호작용 이다.행위 구동 의 개발 자 들 은 그들의 모국어 와 분야 구동 디자인 의 언어 를 결합 시 켜 그들의 코드 의 목적 과 장점 을 묘사한다.BDD 를 사용 하 는 팀 은 사용자 이야기 형식 으로 대량의 '기능 문서' 를 제공 하고 실행 가능 한 장면 이나 예 시 를 추가 할 수 있어 야 한다.BDD 는 노출 코드 수준 테스트 가 아 닌 분야 전문가 들 의 이해 실현 에 도움 이 된다.그것 은 보통 GWT 형식 으로 GIVEN WHEN & THEN 이 라 고 정의 한다.
2. NodeJs 의 Assert 모듈 - 단언
모듈 소개: assert 모듈 은 간단 한 단언 테스트 를 제공 하여 변 수 를 테스트 할 수 있 습 니 다.엄격 한 모드 (strict) 와 남 겨 진 모드 (legacy) 가 존재 하지만 엄격 한 모드 만 사용 하 는 것 을 권장 합 니 다.
간단 한 시도
(당연히 node 를 먼저 설치 해 야 지. node 튜 토리 얼 을 설치 하면 인터넷 에 이미 많은 것 같 아. 나 는 여기에 쓰 지 않 을 거 야!)
var assert = require('assert');

function add (a, b){
  return a + b;
}

assert.equal(6, add(3, 3), '   3 + 3    6')

add 함 수 를 호출 하고 실행 결과 가 6 이면 실행 이 잘못 되 지 않 습 니 다. 코드 를 바 꾸 겠 습 니 다.다음 과 같다.
// assert.equal(6, add(3, 3), '   3 + 3    6')
assert.equal(5, add(3, 3), '   3 + 3    6')

우 리 는 잘못된 정 보 를 던 진 것 을 볼 수 있다. 3 + 3 6이것 은 nodejs 의 assert 모듈 간단 한 시도 입 니 다. 더 자세 한 내용 은 Assert 모듈 PS 를 세 게 찌 를 수 있 습 니 다. 예 를 들 어 should. js, chai 등 단언 라 이브 러 리 도 많 습 니 다.
3. Mocha - 유닛 테스트 프레임 워 크
Mocha 는 Node. js 와 브 라 우 저 에서 실행 되 는 기능 이 풍부 한 JavaScript 테스트 프레임 워 크 로 비동기 테스트 를 간단 하고 재미있게 만 듭 니 다.Mocha 테스트 는 직렬 로 실행 되 며, 유연 하고 정확 한 보 고 를 허용 하 며, 캡 처 되 지 않 은 이상 을 정확 한 테스트 사례 에 반영 합 니 다.
모 차 첫 체험
npm 전역 설치 사용:
$ npm install --global mocha

프로젝트 의존 으로 설치 할 수도 있 습 니 다.
$ npm install --save-dev mocha

mocha - v 를 사용 하면 버 전 번 호 를 보고 test. js 파일 을 새로 만 들 수 있 습 니 다. 다음 내용 을 입력 하 십시오.
var assert = require('assert')
describe('Array', function() {
    describe('#indexOf()', function() {
        it('should return -1 when the value is not present', function() {
            assert.equal(-1, [1, 2, 3].indexOf(4))
        })
    })
})

터미널 에서 mocha test.js 테스트 를 할 수 있 습 니 다. 출력 결 과 는 다음 과 같 습 니 다. 코드 를 수정 하 겠 습 니 다.
// assert.equal(-1, [1, 2, 3].indexOf(4))
assert.equal(-1, [1, 2, 3].indexOf(3))
failing 결 과 를 주 었 고 테스트 가 통과 되 지 않 았 으 며 1) should return -1 when the value is not present 의 잘못된 정 보 를 주 었 습 니 다. 테스트 에 통과 하지 못 한 곳 이 어디 인지 정확하게 알려 주 었 습 니 다!PS: 유닛 테스트 프레임 워 크 는 jest, jasmine 등 이 있 습 니 다.
4. Karma - 테스트 도구
브 라 우 저 환경 에서 코드 를 테스트 할 수 있 는 테스트 도구필요 한 이 유 는 코드 가 브 라 우 저 에서 실 행 될 수 있 기 때 문 입 니 다. node 환경 에서 테스트 할 때 bug 가 노출 되 지 않 을 수 있 습 니 다.또한, 브 라 우 저 호 환 문제 가 있 습 니 다. karma 는 여러 브 라 우 저 (chrome, fireforx, ie 등) 환경 에서 코드 를 자동 으로 실행 할 수 있 는 수단 을 제공 합 니 다.
Karma 첫 체험
전역 설치 karma
$ npm install -g karma-cli

전 체 를 설 치 했 기 때문에 여 기 는 의존 npm i 을 직접 설치 한 다음 에 실행 karma init 합 니 다.
1. Which testing framework do you want to use ? (mocha)
2. Do you want to use Require.js ? (no)
3. Do you want to capture any browsers automatically ? (Chrome)
4. What is the location of your source and test files ? (https://cdn.bootcss.com/jquery/2.2.4/jquery.js, node_modules/should/should.js, test/**.js)
5. Should any of the files included by the previous patterns be excluded ? ()
6. Do you want Karma to watch all the files and run the tests on change ? (yes)

그리고 실행 karma start 효 과 는 다음 과 같다.
5. Travis CI - 지속 적 인 통합 서비스
현재 신 흥 오픈 소스 는 지속 적 으로 통합 구축 프로젝트 로 젠 킨 스, GO 와 뚜렷 한 것 은 특히 Yml 형식 을 사용 하여 간결 하고 참신 하 며 독보적 이다.
프로젝트 통합 Travis CI 시도
Travis CI 를 세 게 찌 르 고 사 이 트 를 열 면 github 계 정 으로 다음 과 같은 그림 에 로그 인 할 수 있 습 니 다. 이때 우 리 는 프로젝트 루트 디 렉 터 리 에 파일 을 추가 해 야 합 니 다 .travis.yml. 대체적인 내용 은 다음 과 같 습 니 다 (구체 적 으로 필요 한 것 은 공식 문 서 를 참고 하 십시오).
language: node_js
# nodejs  
node_js: 
    - '8'

# Travis-CI Caching
cache:
  directories:
    - node_modules


# S: Build Lifecycle
install:
  - npm install
  - export CHROME_BIN=chromium-browser
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start

before_script:

#           npm run build      
script:
  - npm test

그리고 우 리 는 코드 를 제출 합 니 다. 우 리 는 Travis CI 자동 으로 구축 을 시작 합 니 다. 우 리 는 상세 한 정보 와 실행 결 과 를 볼 수 있 습 니 다. 그리고 실행 이 자동 으로 끝나 지 않 았 습 니 다. 우 리 는 설정 을 수정 하고 karma.conf.js 를 찾 아야 합 니 다. singleRun: falsesingleRun: true 로 바 꾼 다음 에 코드 를 다시 제출 합 니 다. 우 리 는 실행 결 과 를 다시 봅 니 다.테스트 에 통 과 했 어, 헤헤!!사실 github 에서 도 테스트 결 과 를 볼 수 있 습 니 다.
그리고 많은 고급 게임 방법 이 있 습 니 다. 여러분 은 문 서 를 보 러 갈 수 있 습 니 다!마찬가지 로 자신의 취미 에 따라 다른 단언 라 이브 러 리 와 테스트 프레임 워 크 를 통합 하여 테스트 할 수 있 습 니 다!
작은 광고
내 가 운영 하 는 공중 번 호 는 나의 성장 을 기록 합 니 다!
공중전화
공중 번호 ID: js - say
ps: 예 (yue) 아니오 (ri)

좋은 웹페이지 즐겨찾기