Набавите свој НПМ-пакет прекривен Јестом и Цодецовом в

Увод

Хајде да разговарамо о покривању кода и о томе како можете да правите извештаје о покривању у Јесту и Цодецову.

Шта је покривеност кодом?

Ако сте упознати са тестирањем. Знате његову главну сврху:

Тестови пружају програмерима слободу да врше промене и преправљају код са уверењем да би све требало да функционише у реду докле год прођу сви аутоматизовани тестови.

Међутим, ако јединични тестови не покривају све сценарије, и даље постоји шанса да ваше промене нешто покваре. Због тога имамо покривеност Цоде: мера колико базе кода покривају аутоматизовани тестови.

Без анализе покривености Цоде, ваши тестови су изгубили своју главну сврху.

Ово је важно када ваш пројекат расте и када су укључени многи програмери.

✅ Можемо одржавати квалитет нашег теста када се дода нови код.

Дубље разумемо постојеће тестове.

Дајте програмерима самопоуздање за рефакторирање кода без бриге да ћете разбити ствари.

✅ Можемо ухватити непроверене токове пре него што изазову невоље.

Ок, сада када знамо шта је покривеност кодом, хајде да га применимо! ?

Предуслови

Да би овај чланак био кратак и сажет, започећу овде: Корак по корак Изградња и објављивање и НПМ пакет писаних текстова.

Шта је до сада урађено:

✅ Поставите основни НПМ пакет

✅ Додајте тестирање са Јестом

✅ Напишите основни тест

Ако је ваш пројекат већ постављен са Јестом, спремни сте за почетак. ? Ако није, препоручујем вам да клонирате или форкнете спремиште за овај чланак да бисте започели од основне основе НПМ-пакета:

git clone [email protected]:caki0915/my-awesome-greeter.git && cd my-awesome-greeter &&git checkout basic-package && npm install

Ако вас занима како се праве НПМ пакети, овде препоручујем мој претходни чланак.

У реду, сад кад је све постављено, идемо!

Направите извештаје о покривености у Јесту

Стварање извештаја о покривености у Јесту је једноставно. Само додајте овај ред у своју конфигурациону датотеку јест:

"collectCoverage":true

цоллеЦовераге: Треба да буде постављено на труе ако желите да шала прикупља информације о покривености током извођења тестова. (Тестови ће се одвијати мало спорије, тако да су подразумевано нетачни.)

Обавезно покрените наредбу скрипте testу датотеци пацкаге.јсон да покрене Јест са вашом конфигурационом датотеком.

“test”: “jest --config jestconfig.json”

У реду! Трцатиnpm testу свом терминалу и воила! Имаћете нову фасциклу са датотекама за покривање кода које су генерисане за вас.

Не заборавите да додате фасциклу покривености .gitignore. Ми не желимо датотеке за изградњу у нашем спремишту. ?

Направите нешто корисно од својих извештаја

Ок, у реду је, генерисали смо фасциклу са неким датотекама, али шта да радимо са овим информацијама? ?

Пре свега, можете ручно прегледати извештај о покривености на генерисаној ХТМЛ страници. Отворите /coverage/lcov-report/index.htmlу прегледачу:

Ок, то је лепо, али да ли заиста МОРАМО да ручно прегледамо извештаје о свакој градњи ??

Не, не би требало. Извештаје треба да објавите на мрежи да бисте од њих направили нешто корисно. У овом чланку ћемо користити алатку за извештавање о покривености под називом цодецов.ио.

Цодецов је бесплатан за пројекте отвореног кода. Извештаје о покривености кода подиже на следећи ниво. Са Цодецов-ом такође можемо аутоматски генерисати значке и покретати га на непрекидним интеграцијама. (Више о томе касније.)

Региструјте се на //цодецов.ио/ и следите водич како бисте се повезали са Гитхуб-ом и вашим спремиштем. После тога, на крају би требало да видите овакав екран:

Леп! За сада ће ова страница бити празна јер још увек нисте отпремили ниједан извештај, па поправимо то. У терминалу покрените:

npm install --save-dev codecov

Обично желите да отпремите извештаје на крају континуиране верзије интеграције, али за овај чланак ћемо отпремити извештаје са наше локалне машине. У извођењу терминала:

(Замените токеном спремишта који се налази у цодец ов.ио)

./node_modules/.bin/codecov --token=""

Успех! Сада свој извештај можете да прегледате на мрежи у цодецов.ио.? ?

//codecov.io/gh///

Додајте значку на свој РЕАДМЕ.мд

Значке су важне, посебно за НПМ пакете. Даје први утисак високог квалитета када видите прелепу значку покривености кода у нпмјс и Гитхуб.

У свој РЕАДМЕ.мд додајте следећи ред:

(Замените и својим информацијама)

[![Codecov Coverage](//img.shields.io/codecov/c/github///
    
     .svg?style=flat-square)](//codecov.io/gh///)
    

У мом случају то ће изгледати овако:

[![Codecov Coverage](//img.shields.io/codecov/c/github/caki0915/my-awesome-greeter/coverage.svg?style=flat-square)](//codecov.io/gh/caki0915/my-awesome-greeter/)

Авесоме! Сада остатку света можете показати да користите извештаје о јединственом тестирању и покривању кода! ? ?

Резиме

Ако користите тестове, извештавање о покривености кода је неопходно и требало би да се покреће сваки пут када направите захтев за повлачењем или унесете промене у својим гранама.

Мој НПМ почетни пакет можете пронаћи овде на Гитхуб-у.

То је образовна база за развој најбољих НПМ пакета. Коментари, вилице и ПР су добродошли. ?

Шта је следеће?

Ако још увек не користите континуирану интеграцију (ЦИ), време је да га подесите.

У следећем чланку ћу описати континуирану интеграцију са покривањем кода за НПМ пакете.

Ако сматрате да је овај чланак користан, молимо вас да га пљескате и следите ме за више чланака о развоју.

Сретно у изградњи вашег сјајног пакета! ? ?