如何在 Node.js 中操纵 Mocha 测试的结果?
How to manipulate results of Mocha test in Node.js?
我有一个简单的 Mocha 文件:
const assert = require('assert');
describe('Array', function () {
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () {
assert.equal([1, 2, 3].indexOf(4), -1);
});
});
});
我正在 运行 Node.js 中查看上面的测试,并访问测试结果以进行进一步操作。
我知道可以导入 Mocha 和 运行 测试,如下所示:
const Mocha = require('mocha');
const test = new Mocha();
test.addFile('./assert.js');
test.run();
但是,我想要一种获取 assert.equal
的结果和相应描述的方法,或许可以通过 then()
方法。有任何想法吗? Sinon.JS
有帮助吗?
最终目标是使用 API 端点在浏览器中显示这些测试。
您可以使用 test
的实例并为每个测试执行查找事件。
例如:
const Mocha = require('mocha');
const test = new Mocha();
test.addFile('./assert.js');
let runner = test.run();
runner.on('pass', (e) => {
passed.push({
title: e.title,
speed: e.speed,
duration: e.duration,
file: e.file
});
});
runner.on('fail', (e) => {
failed.push({
title: e.title,
err: error,
file: e.file
});
});
我有一个简单的 Mocha 文件:
const assert = require('assert');
describe('Array', function () {
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () {
assert.equal([1, 2, 3].indexOf(4), -1);
});
});
});
我正在 运行 Node.js 中查看上面的测试,并访问测试结果以进行进一步操作。
我知道可以导入 Mocha 和 运行 测试,如下所示:
const Mocha = require('mocha');
const test = new Mocha();
test.addFile('./assert.js');
test.run();
但是,我想要一种获取 assert.equal
的结果和相应描述的方法,或许可以通过 then()
方法。有任何想法吗? Sinon.JS
有帮助吗?
最终目标是使用 API 端点在浏览器中显示这些测试。
您可以使用 test
的实例并为每个测试执行查找事件。
例如:
const Mocha = require('mocha');
const test = new Mocha();
test.addFile('./assert.js');
let runner = test.run();
runner.on('pass', (e) => {
passed.push({
title: e.title,
speed: e.speed,
duration: e.duration,
file: e.file
});
});
runner.on('fail', (e) => {
failed.push({
title: e.title,
err: error,
file: e.file
});
});