Как получить имя файла теста в Mocha Reporter
Есть ли способ получить имя текущего теста в Mocha Reporter?
Я не смог найти ничего в базе и примерах.
1 ответ
Решение
На самом деле, имя файла передается в Suite в поле файла в mocha, начиная с этого запроса. В наши дни мокко чаще всего запускается как плагин кармы (а именно плагин карма-мокко), и, говоря о декабре 14, этот плагин просто не передает информацию об имени файла дальше.
Чтобы сделать этот ответ самосогласованным, вот как Suite формируется в 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.