karma tutorial front end unit testing using karma test runner
Овај водич објашњава како поставити Карму и аутоматизовати тестирање предње јединице помоћу Карме, основних опција конфигурације за датотеку Карма.цонф.јс итд.:
Овај водич објашњава поступак аутоматизације јединственог тестирања предњег дела софтвера помоћу Карме и неких с њима повезаних алата.
Почећемо са веб апликацијама развијеним коришћењем ЈаваСцрипт библиотеке: ‘Јкуери’ и ЈаваСцрипт рунтиме: ‘НодеЈС’; а касније ћемо размотрити неке ЈаваСцрипт оквире као што су АнгуларЈС и РеацтЈС.
задати мрежни пролаз није доступан Виндовс 7
=>ПОМЕРАЈТЕ ДОЉЕда бисте видели целу листу Туторијала за Карму
Шта ћете научити:
- Списак лекција за карму
- Преглед лекција за карму у овој серији
- Шта је тестирање предње јединице?
- Шта је Карма тест тркач?
- Шта је НодеЈС?
- Како инсталирати карму?
- Карма инит Питања
- Закључак
Списак лекција за карму
Туториал # 1: Водич за Карму: Испитивање предње јединице помоћу Карма Тест Руннера
Туториал # 2: Водич за Јасминов оквир, укључујући јасминов џери са примерима
Туториал # 3: Узорак пројекта испитивања предњих јединица помоћу КАРМА И ЈАСМИНЕ
Преглед лекција за карму у овој серији
Приручник # | Шта ћете научити |
---|---|
Туториал_ # 1: | Водич за Карму: Испитивање предње јединице помоћу Карма Тест Руннера Овај уводни водич објашњава све о томе како подесити Карму и аутоматизовати тестирање предње јединице помоћу Карме, основне опције конфигурације за датотеку Карма.цонф.јс итд. |
Туториал_ # 2: | Водич за Јасминов оквир, укључујући јасминов џери са примерима Овај водич покрива оквир за тестирање јасмина и његове конструкције. Такође сазнајте о Јасмине-Јкуери пакету који проширује Јасмине на тестирање Јкуери апликација. |
Туториал_ # 3: | Узорак пројекта испитивања предњих јединица помоћу КАРМА И ЈАСМИНЕ Овај водич показује како да напишете тест спецификације за пример пројекта користећи Карму и Јасмин. Такође ћете брзо научити како се користе други алати попут гутљаја, прегледавања. |
Шта је тестирање предње јединице?
Предњи крај сваког софтверског система је једноставно интерфејс где корисник приступа свим функцијама које систем пружа. Да би се гарантовало најбоље корисничко искуство, потребно је осигурати да су фронт-енд програмери кодирали фронт-енд имајући на уму све корисничке захтеве.
Једини начин да се ово примени је писање и извршавање тестова преко кодова програмера. Испоруку треба прихватити као квалитетан предњи код / функцију само када су сви ови резултати тестова у статусу „пролазности“.
Јединствено тестирање је врста софтверске методе испитивања у којој се тестира сваки појединачни и независни део изворног кода да би се утврдило да ли је довољно добар за употребу.
Када смо извршите ово јединствено тестирање на фронт-енд (на страни клијента) софтвера, то се назива фронт-енд унит тестинг. Супротно од фронт-енд тестирања је бацк-енд тестирање (на страни сервера).
Испитивање предње јединице може се извршити ручно или аутоматски. Аутоматско тестирање фронт-енд уређаја данас је у тренду јер је ефикасније и штеди време. Постоје различити алати који су доступни за тестирање предњих уређаја на различитим програмским платформама.
АнгуларЈС и РеацтЈС су два популарна фронт-енд ЈаваСцрипт оквира, иако је РеацтЈС прилично нов.
Да би се извршило јединствено тестирање на апликацији, користе се предњи крајеви изграђени са овим фронт-енд оквирима или чак они који су направљени без оквира, одређени алати за тестирање аутоматизације попут Карме, моке, јасмина, шале, ензима итд.
Прво бисмо учили како да спроводимо фронт-енд јединствено тестирање користећи Карму и Јасмине, а затим, касније, можемо да погледамо и друге алате.
Започећемо са извођењем фронт-енд унит тестова користећи уређаје за фронт-енд направљене без било ког ЈаваСцрипт оквира за фронт-енд. Укупно ћемо поделити своја учења из ове серије у три водича.
У овом првом туторијалу покушали бисмо да схватимо како се поставља Карма, други туториал ће детаљно објаснити Јасмине, коначно, у трећем туториалу ћемо погледати његову практичну примену.
Шта је Карма тест тркач?
Карма је алатка за тестирање заснована на чворовима која вам омогућава да тестирате своје ЈаваСцрипт кодове у више стварних прегледача. Алат заснован на чворовима је било који алат којем је потребан Нодејсов механизам да би се могао покренути и може му се приступити (инсталирати) преко управитеља пакета чворова (нпм).
Карма је алат који чини наш развој вођен тестом брз, забаван и лак. Технички се назива тест-тркачем. Овде је вредно поменути да је Карму развио Ангулар тим.
Како Карма ради као стручњак?
Као тест тркачица, Карма ради три важне ствари:
- Покреће веб сервер и опслужује ваше ЈаваСцрипт изворне и тест датотеке на том серверу.
- Учитава све изворне и тест датотеке у исправном редоследу.
- Коначно, окреће прегледаче да би покренули тестове.
Шта још Карма може?
Поред горе наведених функција Карме, постоји и неколико других ствари за које Карма може бити конфигурисана. На пример, објавити покривеност тест кода на комбинезон.ио ; транспилирати код из ес6 формата у ес5, спајајући више датотека у једну датотеку и генеришући изворне мапе.
У нашим следећим водичима видећемо како неке од ових ствари функционишу.
Захтеви за започињање карме
Да бисте започели са Кармом, морате да разумете НодеЈС и Ноде манагер пакета.
Шта је НодеЈС?
Нодејс решава блокирајућу природу ЈаваСцрипт асинхроних позива, тј. Када се асинхроној функцији приступа у ЈаваСцрипт-у, спречава покретање осталих делова кода док се асинхрони позив не врати. Међутим, са НодеЈС могу се упутити асинхрони неблокирајући позиви функција.
У техничком смислу, за НодеЈС се може рећи да је асинхрони ЈаваСцрипт рунтиме покретано догађајима који чини изградњу и прилагодљивост умрежених апликација једноставним и могућим.
Први кораци са НодеЈС
Једноставно треба да инсталирате НодеЈС фрамеворк. Све што треба да урадите је да их посетите веб сајт и, на основу вашег ОС-а, морате преузети инсталациони програм и следити упутства на њиховој веб локацији о његовој инсталацији.
Шта је Ноде Пацкаге Манагер (Нпм)?
Управитељ пакета чворова (нпм) је ЈаваСцрипт менаџер пакета који се користи за инсталирање других унапред изграђених апликација или модула заснованих на чворовима које ћете можда желети да поново користите у својој апликацији.
Нпм се инсталира када инсталирате НодеЈС, али се нпм ажурира брже од чвора. Отуда ће можда бити потребно да у неком тренутку ажурирате свој нпм. Да бисте инсталирали најновију верзију нпм-а, морате покренути ову команду из своје командне линије: нпм инсталирај нпм @ најновије -г
Горња наредба указује на то да тражите од ОС љуске да изврши апликацију нпм и апликација би требала извршити инсталацију пакета нпм. @латест означава да треба инсталирати најновију верзију пакета, -г опција означава да пакет треба инсталирати глобално.
Више детаља о нпм-у можете пронаћи овде .
Овде треба споменути две важне ствари, тј. Инсталирање пакета са опцијама –саве и –саве-дев.
Током тестова, било који инсталирани пакет треба да се инсталира помоћу опције –саве-дев, тј. Да наложи менаџеру пакета да инсталира пакет као развојну зависност, а не као зависност од пројекта (када користим –саве).
Зависност од развоја треба одабрати јер тај пакет није потребан апликацији током фазе производње, већ је потребан само током фазе развоја у сврху осигурања квалитета.
Како инсталирати карму?
Да бисте започели са Кармом, потребно је да направите фасциклу за пројекат за који ћете написати јединичне тестове. Можете га назвати „басицУТ“. Висуал Студио Цоде користим као уређивач текста, па вам зато препоручујем и да га преузмете и инсталирате. Можете га наћи овде .
Отворите прозор уграђеног терминала Висуал студио кода, кликните на мени „Приказ“, а затим изаберите интегрисани подмени менија.
У прозор терминала унесите „нпминит“ као што је приказано на доњој слици. Ова наредба вас води до аутоматског подешавања датотеке ‘пацкаге.јсон’ коју мора да има свака апликација заснована на чворовима.
Датотека пацкаге.јсон чува информације о вашој апликацији, као што су њено име, број верзије, аутор, зависности апликације, развојне зависности, тест наредба или скрипта и скрипта за покретање апликације или изградњу апликације у облик који се може покренути.
Кликните овде за више детаља о датотеци ‘пацкаге.јсон’.
Снимак екрана иницијализације датотеке пацкаге.јсон помоћу нпминит
Као што је горе описано, за инсталирање Карме потребно је само покренути наредбу нпм инсталирајте Карма @ најновији –саве-дев . Надам се да сада можете да протумачите шта та наредба подразумева.
Сада смо успешно инсталирали Карму, шта је следеће што треба да урадите да бисте користили Карму за тестирање предње јединице?
Све што треба да урадите је да за њега напишете конфигурациону датотеку, а датотека се обично назива Карма.цонф.јс за ЈаваСцрипт. Међутим, за ЦоффееСцрипт је другачије. Кликните овде да бисте истражили више о конфигурационој датотеци Карма.
Преглед опција конфигурације датотеке Карма.цонф.јс
Конфигурациона датотека Карма.цонф.јс треба да садржи упутства за подешавање која Карма мора следити да би извршила три важне функције Карме.
Ова конфигурациона датотека се може креирати ручно или аутоматски помоћу команде: ‘карма инит’, која почиње да приказује различита питања на која треба да одговорите, а Карма користи одговоре које наведете за подешавање конфигурационе датотеке.
До сада бисте већ открили да покретање команде: ‘карма инит’ даје грешку ' „Карма“ није препозната као интерни или екстерни програм или батцх датотека који могу да се извршавају наредбама ”.
То је зато што је Карма инсталирана локално, а не глобално на пројекту на којем радите. Дакле, љуска вашег оперативног система не може пронаћи апликацију Карма у поставкама окружења путање ако користите Виндовс или у датотеци .басх_профиле ако користите Мац.
Да бисмо исправили ову грешку, морамо да инсталирамо Карму глобално. Не само Карма, већ и пакет посебно дизајниран да омогући употребу Карме у командној линији која је Карма-цли. Једноставно покрените команду, ′ Нпм инсталирај -г карма-цли ' .
Сада поново покрените команду карма-инит и можете видети питања као што је приказано на доњој слици. Када одговорите на свако питање и притиснете тастер „ЕНТЕР“, појавиће се следеће питање.
Покретање Карма инит команде на командној линији.
Табела у наставку ће вам дати листу питања, њихово значење, као и одговор који треба да буде у контексту овог водича.
Карма инит Питања
П # 1) Који оквир за тестирање желите да користите?
Објашњење: Оквир за тестирање је пакет који пружа функције и рутине потребне за аутоматизацију процеса кодирања тестова за било који софтверски производ одређеног језика. На пример, јасмин и моцха тестирају оквире за ЈаваСцрипт софтверске пакете, Јунит и ЈТест тестирају оквире за Јаву, проверите ово За више детаља.
Одговор: Појављује се упутство у којем се од вас тражи да користите картицу за преглед осталих доступних оквира за тестирање за апликацију засновану на чворовима, али по подразумеваној вредности видите јасмин, зато једноставно кликните ентер.
П # 2) Да ли желите да користите Рекуире.јс?
Објашњење: Рекуире.јс је ЈаваСцрипт датотека и модул за учитавање. Можда се питате: зашто вам треба датотека за учитавање датотека или модула? читати ово
Одговор: У коду ћемо писати, не бих користио рекуире.јс, зато једноставно одговорите не. питање је шта бисмо користили? Да бисмо могли да користимо наредбе рекуире за уношење спољних датотека у другу датотеку, потребан нам је лоадер модула, па бисмо се одлучили за Бровсерифи. У наставку ћете видети више детаља.
П # 3) Да ли желите аутоматски да снимите било који прегледач?
Објашњење: Подсетите се да је карма алат који вам помаже да тестирате свој фронт-енд у различитим прегледачима, стога је ово питање намењено вама да одаберете прегледаче које бисте волели да окренете кад год покренете тест са стартом карме.
Одговор: За ову лекцију одаберите цхроме, фирефок и пхантомјс. Сад се поставља питање шта је ПхантомЈС? ПхантомЈС је безглави веб прегледач који је намењен за тестирање веб страница без главе, снимање екрана, аутоматизацију страница и надгледање мреже, можете видети детаље овде .
Друго питање, шта је безглави веб прегледач? Безглавни веб прегледач је прегледач без графичког корисничког интерфејса, кодови се извршавају у окружењу налик конзоли.
П # 4) На ком месту се налазе изворне и тест датотеке?
Објашњење: Ово питање треба да изложи путању на којој ћете сачувати предње датотеке и тест датотеке које ће на њима извршити јединствено тестирање.
Одговор: За овај пројекат унесите публиц / јс / *. Јс за путању изворних датотека и тест / * Спец.јс за путању тест датотека. * Спец.јс означава да се све тест датотеке могу назвати било како, али на крају морају садржати Спец са екстензијом .јс датотеке.
П # 5) Да ли треба изузети било коју датотеку обухваћену претходним обрасцима?
Објашњење: Понекад може постојати потреба да се одређене изворне датотеке и датотеке за тестирање не учитавају, ово питање је намењено вама да одредите такве датотеке које Карма не би требало да учитава у прегледач.
Одговор: Једноставно унесите празан низ притиском на ентер. Да ли сте видели изјаву „Можете да користите глобалске обрасце, На пример, „** / *. Свп“. ’. Глоб обрасци се користе за одређивање скупа имена датотека у Уник-сличном окружењу помоћу џокер знака.
У нашем случају, публиц / јс / *. Јс означава било коју датотеку именовану било којим скупом знакова како је назначено (*) и има екстензију датотеке .јс и налази се на путањи публиц / јс. Опширније овде
П # 6) Да ли желите да Карма гледа све датотеке и покреће тестове о промени?
Објашњење: Када покретач задатка / теста гледа ваше датотеке, све то једноставно значи да кад год уређујете датотеке током развоја, покретач теста / задатка поново учитава датотеку или поново изводи своју функцију на датотеци, а да не долазите ручно да тражите да то понови.
Одговор: Зато једноставно одговорите да.
Други садржај датотеке карма.цонф.јс
# 1) басеПатх : Ова конфигурација носи име било које фасцикле која би се требала користити за разрешавање информација о путањи за тест и изворне датотеке.
# 2) претпроцесори : Ово носи име програмских датотека које треба користити за обраду изворних и тест датотека пре него што их учита у прегледач.
Зашто је ово потребно?
Појавом стила ЕС6 кодирања који прегледачи још увек не разумеју, постоји потреба за превођењем кода из ЕС6 формата у ЕС5 који прегледач може да разуме, па се стога може одредити бабел претпроцесор за Карму који ће се користити за транспиловање код са ЕС6 на ЕС5 пре него што га учитате у прегледач.
Постоје и друге употребе претпроцесора, На пример. објављивање покривености теста кода на цовераллс.ио, види овде За више детаља.
# 3) извештачи : Ова опција конфигурације наводи пакет који ће се користити за извештавање о резултатима теста. Постоји неколико извештача који извештавају о покривености тестом кода; На пример. покривеност. Али, подразумевано је постављено да напредује. Имајте на уму да је то низ, па можете да додате и друге извештаче.
# 4) лука : Ово одређује порт на којем се прегледач окреће.
# 5) боје : Одређује да ли би извештачи требало да извештавају у боји.
# 6) логЛевел : Ово одређује ниво евидентирања. Подразумевано је постављено на цонфиг.ЛОГ_ИНФО, што значи да се бележе само информације.
# 7) синглеРун : Ово одређује да ли би Карма требало да изађе након што је једном извршила тест. Ако је постављено на Тачно, Карма покреће тест и излази са статусом 0 или 1, у зависности од тога да ли је тест неуспешан или положен, иначе Карма не престаје.
Ова конфигурација је потребна за потребе континуираног тестирања интеграције помоћу алата попут ТрависЦИ и ЦирцлеЦИ.
# 8) паралелност : Ово одређује колико прегледача Карма треба да покрене истовремено. Подразумевано је постављено на бесконачност.
Кликните овде за детаљне информације о опцијама конфигурације Карма.
Ако сте пажљив ученик, онда сте сигурно видели ове три линије.
23 03 2017 15:47:54.912:WARN (init): Failed to install 'Karma-firefox-launcher' Please install it manually. 23 03 2017 15:47:54.913:WARN (init): Failed to install 'Karma-chrome-launcher' Please install it manually. 23 03 2017 15:47:54.914:WARN (init): Failed to install 'Karma-phantomjs-launcher' Please install it manually.
Истражимо ово у одељку испод.
Покретачи прегледача Карма
Карма-фирефок-лаунцхер, Карма-цхроме-лаунцхер и Карма-пхантомјс-лаунцхер се генерално могу назвати покретачима прегледача за Карму.
Карма треба да окрене ове независне апликације прегледача, па је апликација независних произвођача потребна да пружи интерфејс Карми за покретање команде љуске која окреће прегледаче у било ком оперативном систему на којем Карма проводи тест.
Дакле, они су покретачи прегледача Карма за фирефок, цхроме и пхантомјс. Карма искаче те изјаве да би нас обавестила о својој немогућности да инсталира те захтеве, а затим тражи да их сами инсталирамо ручно.
селен вебдривер туториал јава ецлипсе пдф
Да бисмо то урадили, користићемо управитељ пакета чворова и из наредбене линије покренути ове наредбе: нпм инсталирање Карма-цхроме-лаунцхер Карма-фирефок-лаунцхер Карма-пхантомјс-лаунцхер –саве-дев
Сви ми морамо да имамо инсталиране Цхроме и Фирефок претраживаче, а Пхантомјс није инсталиран. Ако је то тачно, онда морате да га инсталирате, видите овде за детаље и кликните овде за брзи водич.
Закључак
У овом упутству покушали смо да схватимо шта је фронт-енд тестирање јединице. Такође смо представили главни алат за тестирање фронт-енд уређаја за ЈаваСцрипт софтвер познат као Карма, алата који се заснива на чворовима. Такође смо представили основне опције конфигурације за датотеку Карма.цонф.јс и шта све оне подразумевају.
За понети
- Јединствено тестирање је врста софтверске методе испитивања у којој се тестира сваки појединачни и независни део изворног кода да би се утврдило да ли је довољно добар за употребу.
- Када ово јединствено тестирање извршимо на фронт-енд (на страни клијента) софтвера, то је познато као фронт-енд унит тестинг.
- Карма је алатка за тестирање заснована на чворовима која вам омогућава да тестирате своје ЈаваСцрипт кодове у више стварних прегледача. Отуда се назива и тест-тркачем.
- Нодејс је асинхрони ЈаваСцрипт рунтиме покретани догађајима који чини израду скалабилних мрежних апликација лаком и могућом.
- Управитељ пакета чворова (нпм) је ЈаваСцрипт менаџер пакета који се користи за инсталирање других унапред изграђених апликација или модула заснованих на чворовима које ћете можда желети да поново користите у својој апликацији.
Карма сама не може аутоматизовати фронт-енд јединствено тестирање ЈаваСцрипт апликација, такође треба да ради са другим алатима за тестирање, попут оквира за тестирање који ће олакшати писање наших тестова.
У нашем предстојећем упутству истражићемо о Јасминеу и пакету Јасмине-Јкуери који проширује функционалност Јасмине како би могао да тестира ХТМЛ уређаје који користе ЈаваСцрипт библиотеку: Јкуери.
Препоручено читање
- 20 најпопуларнијих алата за јединствено тестирање 2021
- Кључ успешног јединственог тестирања - како програмери тестирају сопствени код?
- ТОП 45 ЈаваСцрипт интервјуа са детаљним одговорима
- Водич за апсолутне почетнике за АнгуларЈС (са Водичем за инсталацију)
- Разлика између вертикалних верзија: Ангулар Вс АнгуларЈС
- Тест покривеност у тестирању софтвера (савети за максимизирање покривености тестирањем)
- 48 најчешћих питања и одговора за интервју за АнгуларЈС (ЛИСТА 2021)
- Како поставити Ноде.јс оквир за тестирање: Водич за Ноде.јс