【问题标题】:How to append extra information based on mocha + jenkins framework?如何基于 mocha + jenkins 框架附加额外信息?
【发布时间】:2017-02-07 12:05:16
【问题描述】:

背景

我正在使用 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);
                });
            });
    });
});

问题 当我运行本地测试时,例如直接运行 mocha *.js,则脚本运行良好。如果出现问题,它将导致测试失败并打印 mocha 异常。它还会输出我需要的信息(通过console.log)

当涉及到 jenkins 时,是的,我也可以以相同的方式执行此操作,并且可以正常工作。但是对于詹金斯,我需要使用 mocha 的“Xunit 记者”,它会生成一个记者 xml 并由詹金斯阅读。然后 jenkins 很容易收集实时和历史测试信息并做进一步的统计。但是,当上面的代码转到 jenkins 时,它会破坏 xml 并像

一样抛出异常
org.dom4j.DocumentException: Error on line 1 of document file:/

我知道这是由于“console.log”,但我对此一无所知。如果某些情况失败,我只想查看这些信息,无论它位于何处(jenkins 控制台或 xml 报告)。

【问题讨论】:

    标签: node.js jenkins mocha.js xunit web-api-testing


    【解决方案1】:

    哦,我发现我可以将所有我想要的作为 done() 的参数传递。这可能没什么大不了的。谢谢大家的关注

    【讨论】:

      猜你喜欢
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 2023-03-08
      相关资源
      最近更新 更多