Grester JUnit Java қолданбаларын сынауды жеңілдетеді

Новости мира

Иван Мур жасаған Jester — бағдарламашылар мен әзірлеушілер жазған бірлік сынақтарын сынайтын тамаша құрал. Бұл кодта шартты секірулер, циклдар және таңдау операторлары бар көптеген орындар болуы мүмкін деген болжамға негізделген, сонымен қатар көптеген мүмкін орындалу жолдарының арқасында тұтастай алғанда сыныптардың циклотикалық күрделілігі күрт артуы немесе ұлғаюы мүмкін орындар болуы мүмкін. . Jester кодтың дәл осындай бөлімдеріне бағытталған. Бірақ оның жұмыс істеуі үшін ол әртүрлі ресурстарға жақсы пішімделген сынып жолын қажет етеді.

Jester айналасындағы Apache Maven ораушысы болып табылатын Grester жоба тәуелділіктеріне негізделген Java™ сынып жолын жасау жұмысын жеңілдетеді, бұл Jester көмегімен тестілеуді жеңілдетеді. Сонымен қатар, Грестер оның инфрақұрылымының негізінде жатқан Maven артықшылықтарының кейбірін жүзеге асыруға тырысады. Jester тестке негізделген әзірлеумен жазылмаған кодты тексерудің қосымша құралы ретінде өте пайдалы. Бұл Agile бағдарламалық жасақтамасын әзірлеудің сынаққа негізделген әзірлеу әдістерін сапа кодын жазудың бастапқы нүктесі ретінде тым өрескел деп санайтын бағдарламашылар жақында жазған ескі бағдарламалар немесе кодтар болуы мүмкін.

Шындығында, Грестер тестке негізделген әзірлеуді қолданбай-ақ код жазудың шектеулерін көрсету үшін пайдаланылуы мүмкін. Менің тәжірибемде оның нақты іскери функциясына қарамастан жазылған талаптар мен кодтың қадамдық өзгеруі қателер мен бумаларды көбейтеді (бұл бізді блобқа қарсы үлгіге тез жақындатады, тіпті кішкентай код үзінділерінде де міндетті түрде орындалмауы керек). бір басқаруға қиын модуль немесе модульдер жинағы түрінде).

Бұл мақалада біз Jester шығысын түсіндірудің техникалық мәліметтерін қарастырмаймыз және оның қалай жұмыс істейтінін егжей-тегжейлі сипаттаймыз. Бұл ақпаратты Эллиотт Рэсти Гарольдтың тамаша мақаласына сілтеме алу үшін Ресурстар бөлімін қараңыз немесе Иван Мурдың веб-сайтына кіріңіз. Сондай-ақ ол Jester үшін орауыш ретінде әрекет ететін Maven модулін сатып алу және пайдалану бойынша ұсыныстар береді.

Грестерді қайдан алуға болады

Grester екі көзден қол жетімді, екеуі де Ресурстар бөлімінде тізімделген. Оның жұмыс істеуі үшін қажетті инфрақұрылым минималды: оны жасау және пайдалану үшін тек Maven қажет. Grester Groovy тілінде жазылған, Java тәрізді синтаксисі бар динамикалық тілде Python және Ruby сияқты тілдердің артықшылықтарын пайдаланады. Негізінде, Grester тек Jester құралын жылдам орындауға арналған Maven модулі болып табылады, сондықтан Грестер барлық күшін Jester-ден алады. Осы мақаланың мысалдары Jester V1.37 және Grester V0.3 альфа нұсқасын пайдаланды.

Басында

Ретсіз әзілқой: неге жоқ?

Java Archive (JAR) жобасының барлық тәуелділіктері бір жерде болса, Jester бағдарламасының тікелей орындалуы Java класс жолының жазбасында тек бір каталогты қажет етеді. Тәуелділіктер файлдық жүйеде шашыраңқы болған кезде, әрбір іске қосу үшін Jester конфигурациялау өте қиын және көңілсіз болуы мүмкін, әсіресе жеке тәуелділіктердің орындары өзгерсе. Maven бұл процесті әлдеқайда жеңілдетеді.

Jester Maven жобасының құрастыру конфигурациясынан тыс әрбір данада жұмыс істейді. Сонымен, Грестердің ерекшелігі неде? Мәселе Maven өзінің тәуелділіктерін қалай ұйымдастырады. Ол бұл «қаптаманың» тиімсіз емес екеніне көз жеткізуге тырысып қана қоймайды, сонымен қатар Java JAR (және, осылайша Groovy) және Java Web Archives (WARs) күйін де, орнын да стандарттауға тырысады.
Linux және UNIX пайдаланушыларына арналған ескертпелер
Grester файлы кішкентай және шығарылғаннан кейін қысылған мұрағаттың өзін қауіпсіз жоюға болады. Мұнда мен Windows құрылғысында Cygwin бумасын қолдандым, оны тіпті модельденген Linux ортасында да шығару қаншалықты оңай екенін көрсету. Дегенмен, кейбір операциялық жүйе мүмкіндіктерінің болмауына байланысты Linux және UNIX жүйелерінде Grester нұсқасының 0.3 нұсқасынан ертерек нұсқаларымен тәжірибе жасау ұсынылмайды, дегенмен Windows үшін альфа нұсқалары айтарлықтай тұрақты. Барлық нұсқаларда Jester V1.37 қолданылған.

Maven-пен таныс емес адамдар үшін ол репозиторий идеясын пайдаланады. $USER_HOME.m2repository мекенжайында орналасқан әдепкі жергілікті репозиторий және $MAVEN_HOME/conf мекенжайында орналасқан pom.xml немесе settings.xml файлында конфигурацияланған қашықтағы репозиторий бар.

Басында

Grester орнату

Сілтемеден қысылған .tar файлын (.tar және tar.gz файлдары UNIX® және Linux® үшін) немесе Microsoft® Windows® үшін ZIP файлын тауып, оны шығарып алыңыз. Мұны бірнеше жолмен жасауға болады: мұнда мен Windows жүйесінде Cygwin бумасын пайдаланамын.

1-сурет Windows жүйесінде Cygwin көмегімен Grester шығарып алу

Сондай-ақ TAR утилитасын tar.gz үшін xzvf опцияларымен және пішімделмеген .tar файлы үшін xvf опцияларымен пайдалануға болады. Мысал суретте көрсетілген. 2.

Сурет 2. TAR утилитасын пайдаланып Grester tar.gz файлын шығару

Соңғы каталог құрылымы күріштегідей болуы керек. 3.

Сурет 3. Windows жүйесінде шығарылған Grester

Басында

Grester конфигурациялау, байланыстыру және орнату

Енді Maven-ге Grester-ті жергілікті Maven модулі ретінде құрастыру және орнату үшін тиісті Grester Groovy тәуелділіктерін шығаруға болатын сыртқы репозиторийлер туралы айтудың уақыты келді. Ол үшін төменде көрсетілгендей $MAVEN_HOME/conf/settings.xml файлына екі қашықтағы репозитарий қосыңыз.