有没有办法在mocha记者中获取当前测试的文件名?
我在基地和示例中找不到任何东西。
答案 0 :(得分:2)
实际上,文件名从this拉取请求开始在mocha中的文件字段中传递给Suite。现在摩卡最常见的是作为业力插件运行(即karma-mocha插件),而且,谈到2014年12月,这个插件只是没有进一步传递文件名信息。
为了使这个答案自我一致,下面是套件在mocha中的形成方式(它是tdd实现,但它与bdd类似):
context.suite = function(title, fn){
var suite = Suite.create(suites[0], title);
suite.file = file;
suites.unshift(suite);
fn.call(suite);
suites.shift();
return suite;
};
以下是karma-mocha / lib / adapter.js中的套装形式:
runner.on('test end', function(test) {
var skipped = test.pending === true;
var result = {
id: '',
description: test.title,
suite: [],
success: test.state === 'passed',
skipped: skipped,
time: skipped ? 0 : test.duration,
log: test.$errors || []
};
var pointer = test.parent;
while (!pointer.root) {
result.suite.unshift(pointer.title);
pointer = pointer.parent;
}
tc.result(result);
});
但你知道吗,我想在karma-mocha项目中作为一个功能请求发布是件好事。