首先我要说的是,我对node.js还很陌生,mocha.It简直让我头破血流。我开始使用测试驱动开发方法,并试图从beforeEach和afterEach函数中获得即将开始或刚刚结束的测试,但我没有运气(我最感兴趣的是afterEach)。至少我不能想出一个干净利落的方法。我唯一能想到的就是将测试和套件放在一个变量中,然后在afterEach()上做一些匹配,看看哪个测试已经完成。
理想情况下,它显示‘测试名称’时,我希望使用类似于suite.test.name的名称
suite('my test suite', function() {
beforeEach(function () {
console.log('test name');
});
test('first test', function (done) {
var testarray = ['1', '3', '5', '7'];
testarray.forEach(function(num, index) {
console.log('num: ' + num + ' index: ' + index);
},
done());
});
afterEach(){
console.log('test name');
}
}
发布于 2013-07-27 19:17:52
您可以使用this.currentTest.title
获取当前测试的名称
afterEach(function(){
console.log(this.currentTest.title)
})
发布于 2013-11-06 22:24:30
我发现我更多地使用this.currentTest.fullTitle()
而不是this.currentTest.title
--我也更喜欢使用describe
名称。
发布于 2017-08-10 01:54:58
如果您具有嵌套的describe块,并且出于某种原因想要分隔标题部分,则可以在beforeEach
或afterEach
方法中执行类似以下操作:
function titles(test) {
console.log(test.title)
if (test.parent) {
titles(test.parent)
}
}
titles(this.currentTest)
https://stackoverflow.com/questions/17893179
复制相似问题