2017-01-31 1 views
10

모카 테스트 케이스에서 이전 후크에 타임 아웃 값을 설정하고 싶습니다. mocha의 명령 줄에 -t 10000을 추가하여이 작업을 수행 할 수 있지만이 작업은 모든 테스트 사례의 시간 초과 값을 변경합니다.모카에서 후크하기 전에 시간 제한을 설정하는 방법은 무엇입니까?

describe('test ',() => { 

    before((done) => { 
     this.timeout(10000); 
     ... 

그것이 정의되지 this.timeout(1000)timeout하는 라인에 대해 불평 할 것이다 : 나는 프로그래밍 아래의 제한 시간을 변경할 수있는 방법을 찾아야 할 것은 내 코드입니다. 시간 제한을 설정하는 방법.

답변

23

describe의 모든 테스트에 영향을 주려면 후크가 아닌 describe 블록에 시간 초과를 설정해야합니다.

describe('test', function() { 
    this.timeout(10000); 

    before(...); 

    it(...); 
}); 

을 당신은 당신이 화살을 사용할 수 없습니다 모카에 전달 콜백에서 this을 사용하고자하는 모든 장소에서 그러나, 당신은 오히려 화살표 기능보다 describe에 콜백으로 "일반"기능을 사용할 필요가 기능. 모카가 설정할 수있는 자체 값이 this 인 "일반"기능을 사용해야합니다. 화살표 함수를 사용하는 경우 this 값은 모카가 원하는 값이 아니므로 코드가 실패합니다.

당신 당신의 이전 후크에 대해 다른 시간 제한을 설정하지만, 고려해야 할 두 가지가 있었다 : 너무 그렇게 화살표 기능이 아닌 "일반"기능을 사용할 필요가 거라고 여기

  1. 은 :

    before(function (done) { 
        this.timeout(10000); 
    
  2. 이 만 before 후크에 대한 제한 시간을 설정합니다 및 테스트에 영향을주지 않습니다.

+0

완벽한 답변 :) – greuze

관련 문제