2016-09-29 6 views
0

지속적인 통합을 구현하기 위해 젠킨스를 사용하는 동안 내가 API를 자동화를 수행하는 mocha.js을 사용하고mocha + jenkins 프레임 워크를 기반으로 추가 정보를 추가하는 방법은 무엇입니까?

배경입니다. 실패한 테스트에 대한 추가 정보를 기록하는 동안 몇 가지 문제에 직면하고 있습니다. 다음

내 코드는 하나의 API를 테스트에 대한 내 기본 코드입니다.

var conf = require('../../../configuration.js'); 
var CONST = conf.CONST; 
var R = require('../../../req.js'); 
var expect = R.expect; 
var __path = R.__path; 
var Promise = require('bluebird'); 
var supertest = R.supertest; 


var env = CONST.APP_ADDRESS_TESTENV; 
var tester = supertest.agent(env); 


describe('TestA', function() { 

    it('TestPoint A', function (done) { 
     var url = __path(__filename); 
     var params = 'languageId=1'; 
     tester.get(url + params) 
      .end(function (err, res) { 
       new Promise(function (resolve, reject) { 
        var result = res.body.result; 
        expect(result.length).equal(8); 
        resolve(res.body); 
       }).then(body => { 
        expect(body.msg).equal("True"); 
        return body; 
       }).then(body => { 
        expect(body.code).equal("0"); 
        done(); 
        return body; 
       }).catch(err => { 
        console.log(env + url + params); 
        console.log(JSON.stringify(res.body)); 
        done(err); 
       }); 
      }); 
    }); 
}); 

질문 내가 예를 들어, 직접 모카 *은 .js를 실행, 로컬 테스트를 실행 한 후 스크립트가 잘 어울린다. 잘못된 것이 있으면 테스트를 실패하고 모카 예외를 인쇄합니다. 또한 그것은 필요한 정보를 출력합니다 (console.log에 의해)

젠킨스에 관해서는, 나는 똑같은 방식으로 이것을 할 수 있습니다. 하지만 젠킨스에게는 기자 xml을 생성하고 젠킨스가 읽는 모카의 'Xunit 기자'를 사용해야합니다. 그렇다면 젠킨스는 실시간 및 역사적 테스트 정보를 수집하고 추가 통계를 작성하기 쉽습니다. 위의 코드 젠킨스로 이동하지만, 그러나, 나는이 "CONSOLE.LOG"에 의한 알고하지만 난 이것에 대해 아무 생각이

org.dom4j.DocumentException: Error on line 1 of document file:/ 

같은 XML과 던져 예외 끊어집니다. 나는 그 정보가 어디에 있는지에 상관없이 실패한 경우 (jenkins console 또는 xml report) 정보를보고 싶습니다.

답변

0

오우 내가 원하는 모든 것을 내가 done()의 매개 변수로 전달할 수 있다는 것을 알았습니다. 이것은 큰 문제가 아닐 수도 있습니다. 모두들 고마워.