0

バックグラウンド

jenkins を使用して継続的インテグレーションを実装しながら、mocha.js を使用して API 自動化を実行しています。失敗したテストの追加情報をログに記録しようとしているときに、いくつかの問題に直面しています。

私のコード

以下は、単一の 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による)

ジェンキンスに関しては、そうです、これも同じ方法で行うことができ、正常に動作します。しかし、ジェンキンの場合、モカの「Xunitレポーター」を使用する必要があります。これにより、レポーターxmlが生成され、ジェンキンによって読み取られます。その後、jenkins は、リアルタイムおよび履歴のテスト情報を簡単に収集し、さらに統計を行うことができます。しかし、上記のコードがジェンキンスに行くと、xmlが壊れて例外がスローされます

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

これが「console.log」によるものであることは知っていますが、これについてはわかりません。どこにいても(jenkinsコンソールまたはxmlレポート)、一部のケースが失敗した場合にそれらの情報を確認したいだけです。

4

1 に答える 1

0

ああ、のパラメータとして必要なものをすべて渡すことができることがわかりましdone()た。これは大したことではないかもしれません。みなさん、お気遣いありがとうございます

于 2016-09-29T09:08:26.257 に答える