Mocha командная строка получает имя файла тестов в JSON repoter - PullRequest
0 голосов
/ 24 февраля 2020

Я запускаю тесты 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": {}
     },...]

большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...