Данные о покрытии тестов Jest JS не отправляются в код Климат от Codeship

У меня есть проект на основе Node.js, в котором я использую Jest для модульного тестирования .js. У меня для параметра конфигурации collectCoverage установлено значение true, и я могу видеть таблицу покрытия тестами в моих локальных запусках разработки и когда сборка запускается в Codeship.

Тем не менее, я не могу правильно настроить получение данных о тестовом покрытии для публикации в Code Climate, чтобы там отображались результаты.

Я сохранил токен репо, указанный в инструкциях по установке CodeClimate, в переменную среды Codeship следующим образом:

CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < lcov.info

Учитывая, что локально Jest collectCoverage сохраняет файл данных lcov.info в каталоге с именем coverage в корне моего проекта, я также попробовал вариант переменной среды с этим путем, как таковой:

CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < coverage/lcov.info

Для установки нод модуля codeclimate-test-reporter (npm install -g codeclimate-test-reporter) мне из инструкции непонятно куда именно он должен идти. Я пробовал поставить:

  • в разделе команд настройки параметров тестирования Codeship непосредственно перед общей командой npm install,
  • в разделе команд конфигурации тестового конвейера Codeship,

Я также попытался установить его как локальную зависимость разработчика в моем package.json.

Никакая комбинация вышеупомянутых попыток настройки не привела к тому, чтобы увидеть что-либо на стороне Code Climate в отношении тестового покрытия.

В качестве последнего замечания о том, что я сделал, я не зафиксировал свой локальный каталог coverage, поэтому он не включен в мою сборку Codeship.

Может ли кто-нибудь помочь мне понять, что я делаю неправильно?


person redlena    schedule 02.06.2016    source источник


Ответы (1)


Конечно, вскоре после публикации этого вопроса разобрались с проблемой.

Вместо того, чтобы помещать CODECLIMATE_REPO_TOKEN непосредственно в раздел переменных среды Codeship, его нужно было включить в настройки конфигурации тестового конвейера Codeship после команды npm test (которая создает каталог coverage). И вам нужно убедиться, что путь к файлу lcov.info указывает на каталог покрытия.

person redlena    schedule 02.06.2016