Pergunta

Existe uma maneira de obter o nome do arquivo do teste atual no mocha reporter?

Não consegui encontrar nada na base e nos exemplos.

Foi útil?

Solução

Na verdade, o nome do arquivo é passado para o Suite em arquivo campo em mocha a partir de esse solicitação de pull.Hoje em dia o mocha é mais comumente executado como um plugin de karma (ou seja, karma-mocha plugin) e, falando em dezembro de 2014, esse plugin simplesmente não passa mais informações sobre o nome do arquivo.

Para tornar esta resposta autoconsistente, veja como o Suite é formado no mocha (é a implementação do tdd, mas é semelhante para o 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;
    };

E aqui está como os trajes são formados em 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);
    });

Mas quer saber, acho que é uma coisa legal de se emitir como uma solicitação de recurso no projeto karma-mocha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top