2016-07-18 11 views
0

요약하면 유티 앱은 배포하기 전에 모든 테스트를 실행하는 연속 통합 파이프 라인을 통과합니다. 내 테스트는 침팬지로 실행되며 테스트를 실행하기 전에 최신 버전의 각 빌드에서 CI 환경에 침팬지를 설치하고있었습니다.0 테스트를 실행하는 경우 침팬지 실행이 실패합니다.

최근에 침팬지는 침팬지 실행이 1..0 테스트를 실행하는 다소 중대한 업데이트를 만들었습니다. 그것이 침팬지의 버전 때문에 발견 한 후, 나는 침팬지의 설치를 현지화하고 특정 버전에 고정하도록 변경했습니다.

문제점은 제 파이프 라인이 입니다. 헤이, 0 테스트 통과는 여전히 0 테스트 실패입니다. ..!

테스트를 전혀 실행하지 않으면 침팬지를 만들려고합니다. 어떻게 그것을 할 수있는 좋은 방법이 될 것입니까?

출력을 greping하여 '1..0'과 일치 시키면 종료/b 1 상태가됩니다. 가장 좋은 해결책은 침팬지 명령 만 포함하는 것입니다.

저에게 힌트를 줄 수있는 사람 덕분입니다. 테스트 후크 후

답변

0

사용

당신은 after 테스트 훅 (예를 들어 아래)에서 모든 테스트 후에 실행되는 코드를 넣을 수 있습니다. 테스트 실행 횟수를 확인하는 방법을 잘 모르겠지만 테스트 기자가 찾은 것과 동일한 방법을 찾을 수 있다고 생각합니다. 따라서 인기있는 /보다 간단한 기자 중 한 명을 살펴볼 것을 제안합니다. 추천/specdot 거기에서 그것을 계산 모카 1.1.12 다음과 같은 출력을 생성

describe('test', function() { 
    after(function() { console.log('after'); }); 
    afterEach(function() { console.log('afterEach'); }); 

    it('fails sync', function(done) { 
    after(function() { console.log('inner after 1'); }); 
    throw new Error('failed'); 
    }); 

    it('fails async', function(done) { 
    after(function() { console.log('inner after 2'); }); 
    process.nextTick(function() { 
     throw new Error('failed'); 
    }); 
    }); 
}); 

:. SO 사용자 미로슬라브 Bajtoš

에서 예 코드

․afterEach 
․afterEach 
after 
inner after 1 
inner after 2 


    0 passing (5 ms) 
    2 failing 

1) test fails sync: 
Error: failed 
    at Context.<anonymous> (/private/tmp/so/test/main.js:7:11) 
    at Test.Runnable.run (/private/tmp/so/node_modules/mocha/lib/runnable.js:194:15) 
    at Runner.runTest (/private/tmp/so/node_modules/mocha/lib/runner.js:355:10) 
    at /private/tmp/so/node_modules/mocha/lib/runner.js:401:12 
    at next (/private/tmp/so/node_modules/mocha/lib/runner.js:281:14) 
    at /private/tmp/so/node_modules/mocha/lib/runner.js:290:7 
    at next (/private/tmp/so/node_modules/mocha/lib/runner.js:234:23) 
    at Object._onImmediate (/private/tmp/so/node_modules/mocha/lib/runner.js:258:5) 
    at processImmediate [as _immediateCallback] (timers.js:330:15) 

2) test fails async: 
Error: failed 
    at /private/tmp/so/test/main.js:13:12 
    at process._tickCallback (node.js:415:13) 

크레딧