Я запускаю тесты mocha в командной строке как mocha -u exports --recursive test --reporter json
, где test
- это каталог, в котором есть все мои модульные тесты, и я получаю статистику для всех наборов тестов в формате json на моем терминале. Мой вывод выглядит как -
{
"stats": {
"suites": 26,
"tests": 114,
"passes": 104,
"pending": 0,
"failures": 10,
"start": "2020-02-24T16:05:03.945Z",
"end": "2020-02-24T16:05:04.175Z",
"duration": 230
},
"tests": [
{
"title": "should throw when...",
"fullTitle": "Module: XYZ should throw when...",
"duration": 11,
"currentRetry": 0,
"err": {}
},
{...}, ...
]
Но я пытаюсь получить имя файла, в котором тест не пройден, вместо title
или fullTitle
, которые дают поверхностную информацию о том, какие файлы прошли тесты , Согласно некоторым онлайн-форумам, это может быть сделано программно, как это -
mocha.suite.on("post-require", function(ctx, file) {
// Add the filename to any first level suites that don't have a filename defined
mocha.suite.suites.forEach(function(suite) {
if (suite.filename === undefined) {
suite.filename = file;
}
});
});
, но я склоняюсь к вопросу командной строки вместо того, чтобы иметь еще один файл, чтобы вызвать все мои тесты - и согласно этой теме, эта функция была реализована для этого - https://github.com/mochajs/mocha/issues/950, но я не могу понять, была ли добавлена или не была добавлена поддержка для способа запуска mocha в командной строке - я был бы благодарен, если кто-то может помогите мне с именем файла мой список тестов, как:
"tests": [
{
"file": 'xyz.js',
"title": "should throw when...",
"fullTitle": "Module: XYZ should throw when...",
"duration": 11,
"currentRetry": 0,
"err": {}
},...]
большое спасибо