istanbul с mocha не генерирует отчет о покрытии, когда тестирование занимает больше времени - PullRequest
0 голосов
/ 19 декабря 2018

Я тестирую свой файл js, используя mocha.Некоторые тестовые случаи требуют времени для разрешения ответа, поэтому я использовал тайм-аут с ним.Полная команда выглядит следующим образом:

istanbul cover _mocha test / sol-verifyier.js - - timeout 300000

Проблема заключается в том, что при переходе на покрытие, подобное этому, яя не получаю отчет о покрытии, он только успешно запускает тестовые сценарии и останавливается (не завершается).Как я могу решить эту проблему?

Мой код находится в файле node.js и не создает никакого сервера.

Также, когда я убираю флаг --timeout и закомментирую тестовые примеры, которые принимаютбольше времени.Он работает нормально и генерирует отчет о покрытии.

Согласно моим выводам, проблема не в флаге --timeout, отчет не генерируется, когда тестовый пример занимает больше времени, чем обычно, для решения.

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете добавить аргумент done к функциям вашего набора тестов и вызывать done() в конце каждой из ваших функций тестирования:

it('test expectation', function(done) {
    // test asynchronous code
    // call done() to terminate test and proceed to the next test
    done();
}

В качестве альтернативы, попробуйте запустить ваши тесты с --exit флаг mocha:

istanbul cover _mocha --exit test/sol-verifier.js -- --timeout 300000

В соответствии с документами :

Во избежание ложных срабатываний и поощрения более качественного тестированияНа практике, Mocha больше не будет автоматически убивать себя с помощью process.exit (), когда считает, что его нужно выполнить.

Если процесс mocha все еще жив после того, как ваши тесты кажутся «выполненными»тогда ваши тесты запланировали что-то, что должно произойти (асинхронно) и не убрали после себя должным образом.Вы оставили сокет открытым?

Укажите флаг --exit для использования поведения до v4.

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