Данните за тестовото покритие на Jest JS не се публикуват в Code Climate от 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 node (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