2015-10-28 3 views
1

Я использую mocha программно и хочу получить доступ к результату в моей программе для последующего вычисления.Результат доступа при запуске mocha программно

В настоящее время у меня есть:

var mocha = new Mocha({ 
    reporter: 'json' 
}); 

files.forEach(file => { 
    var path = process.cwd() + '/' + file; 
    mocha.addFile(path); 
}); 

mocha.run() 
    .on('start', function() { 
    // do something 
    }) 
    // ... 
    .on('end', function() { 
    // I want to resolve the promise with the result generated by mocha: 
    resolve(result); 
    }); 

Однако, я никогда не получить доступ к результату об этом сообщил JSon репортер (только по командной строке). Есть ли способ получить доступ к результату как json в моей программе? Например, путем записи результата в файл, который он читает позже?

+0

Не передан ли результат обработчику событий «end»? –

+0

Нет, non аргумент передается обработчику события 'end' –

ответ

2

json репортер сохраняет свои результаты на испытательном стенде в поле testResults. Таким образом, вы можете изменить свой end обработчик:

.on('end', function() { 
    resolve(this.testResults); 
}); 

Я проверил его и он работает. Я понял это, прочитав код Мокки. Я также проверил документацию, но я не видел что-то, указывающее на публичный API, через который можно получить эти результаты. Насколько мне известно, только репортер json делает это.

Смежные вопросы