0
背景如何添加基於mocha + jenkins框架的額外信息?
我使用mocha.js執行api自動化,同時使用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)
當談到詹金斯,是的,我也可以用同樣的方式做到這一點,它可以正常工作。但對於詹金斯,我需要使用摩卡的「Xunit記者」,這將產生記者xml並由詹金斯閱讀。然後詹金斯很容易收集實時和歷史測試信息並做進一步的統計。但是,當上面的代碼去詹金斯,但是,它將打破XML和拋出異常一樣
org.dom4j.DocumentException: Error on line 1 of document file:/
我知道這是因「的console.log」,但我不知道這樣的想法。我只是希望看到這些信息,如果某些情況下失敗,無論它在哪裏(jenkins控制檯或xml報告)。