Как получить имя файла теста в 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.

Другие вопросы по тегам