Ответ 1
Вы получите имя текущего теста с помощью this.currentTest.title
afterEach(function(){
console.log(this.currentTest.title)
})
Позвольте мне начать с того, что я совершенно новичок в node.js и mocha.It просто ломает голову. Я начал использовать подход tdd, и я пытаюсь получить тест, который будет запущен или только что закончен из функций beforeEach и afterEach, но мне не повезло (меня больше всего интересует afterEach). По крайней мере, я не мог понять, как это сделать. Единственное, о чем я мог подумать, - это держать тесты и набор в переменной, а затем afterEach() просто выполнить некоторые соответствия, чтобы увидеть, какой тест закончен.
В идеале, когда он говорит "test name", я хочу иметь что-то вроде 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');
}
}
Вы получите имя текущего теста с помощью this.currentTest.title
afterEach(function(){
console.log(this.currentTest.title)
})
Я нахожу, что я использую this.currentTest.fullTitle()
больше, чем this.currentTest.title
- я предпочитаю иметь имена describe
.
Если у вас есть вложенные блоки описания и по какой-то причине вы хотите отделить части заголовка, вы можете сделать что-то вроде следующего в методах beforeEach
или afterEach
:
function titles(test) {
console.log(test.title)
if (test.parent) {
titles(test.parent)
}
}
titles(this.currentTest)