我是javascript和mocha的新手。我一直在研究如何创建第三方记者。我在https://github.com/mochajs/mocha/wiki/Third-party-reporters
看到了一些样本我创建了一个满足我的需求并能够安装并使用它。但是,要求是不安装记者。它可以是不同的文件,也可以是同一个js文件的一部分。
有谁能告诉我如何用js文件挂钩记者?
这是我的测试js文件
const mochasteps = require('mocha-steps')
var Mocha = require('mocha');
var report = require('./report')
var mochainstance = new Mocha({reporter: report});
console.log(mochainstance._reporter)
before(() => console.log('before'))
after(() => console.log('after'))
describe('Array', () => {
step('should start empty', done => {
var arr = [];
if (arr.length == 1) return done()
done(new Error('array length not 0'))
});
});
describe('Test', () => {
step('some Test', done => {
done();
});
});
这是执行报告的测试report.js文件。
var mocha = require('mocha');
module.exports = report;
function report(runner) {
mocha.reporters.Base.call(this, runner);
runner.on('pass', function(test){
console.log('[pass]%s', test.title);
});
runner.on('fail', function(test, err){
console.log('[fail]%s(%s)', test.title, err.message);
});
runner.on('end', function(){
process.exit(0);
});
}
谢谢, r1j1m1n1
答案 0 :(得分:0)
运行测试时,您需要将路径传递给自定义报告者。在您的示例中,假设test.js和report.js位于同一文件夹中,它将如下所示:
mocha test.js -R 'report.js'
这将使用report.js作为报告者运行test.js测试,而无需安装报告者。