Покрытие кода Node.js некоторых тестовых файлов

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

При этом это не останавливает меня от желания проверить покрытие кода моей работы. Я посмотрел и на Стамбул, и на Бланкет, и не могу найти способ, чтобы они запускали только определенные модульные тесты. Конечно, есть способ получить отчет, который, очевидно, сообщает об очень низком проценте покрытия, но что я могу погрузиться в определенные файлы и тому подобное (те, которые попали в мои тесты), чтобы убедиться, что мой код полностью протестирован.


person KJ3    schedule 11.08.2015    source источник


Ответы (1)


С помощью istanbul.js вы можете легко получить информацию о покрытии this, например, указав следующую команду (в следующем примере используется mocha, но он будет аналогичен для любой тестовой среды):

istanbul cover node_modules/.bin/_mocha -- -u exports -R spec test/test1.spec.js test/test2.spec.js

Вы также можете указать все тесты в конкретном подкаталоге, например: test/yourfeaturetest/*.spec.js. У вас также есть что-то вроде test/myfeature/**/*.spec.js, чтобы охватить все тесты в каталоге test / myfeature, включая тесты, которые могли быть созданы рекурсивно в подкаталогах.

Что касается меня, я использую gulp и, следовательно, использую плагины, такие как gulp-istanbul, и запускаю тесты и покрытие через задачи gulp.

person Samar    schedule 11.08.2015