JavaRush /Java Blog /Random-TK /44-nji kofe arakesmesi. 2020-nji ýylda iň oňat Java synag...

44-nji kofe arakesmesi. 2020-nji ýylda iň oňat Java synag çarçuwasy

Toparda çap edildi
Çeşme: Dev.to Java bölüminiň synag çarçuwalary döredijiler üçin programmalar ýa-da başga bir programma üpjünçiligi döretmek üçin standart, çylşyrymly we giňeldilen gurallary üpjün edýär. Öň ýazylan kody öz içine alýan köp sanly obýektden durýar. Synag çarçuwasynyň saýlanyşyna baglylykda kitaphanalary, düzüjileri, gurallary we API-leri öz içine alýar. 44-nji kofe arakesmesi.  2020-nji ýylda Java synagy üçin iň oňat 10 çarçuwa - 1Java bölüminiň synag çarçuwalary programma üçin ygtybarly howpsuzlyk gözegçiligini üpjün edýär. Howpsuzlyk gowşaklygy tapylsa, çarçuwanyň web sahypasynda / goldawynda düzedip bolar. Çarçuwaly döredijiler hatda programmistleriň we synagçylaryň netijeliligini we tizligini ýokarlandyrýan içerki funksiýalary we modullary hödürleýärler. Bu on ýylda synag platformalaryndan nämä garaşmaly? 2020-nji ýyla çenli iň gowy Java synag çarçuwalarynyň sanawyny size hödürleýäris.

1. JBehave

JBehave, BDD (Özüňi alyp barşyň ösüşi) goldawy bilen iň oňat Java synag çarçuwalarynyň biridir. BDD TDD (Test-Driven Development) we ATDD (kabul ediş synagy bilen ösdürilýän ösüş) ewolýusiýa dowamydyr. Jbehave-iň esasy paýlamalary:
  • JBehave Web,
  • JBehave Core.
JBehave gurmak üçin zerur şertler: Bu synag çarçuwasyny ulanmagyň iň gowy usuly, ony “Eclipse” -e goşmakdyr. Munuň üçin Eclipse IDE (indigo-dan ýokary) wersiýasyna garamazdan, size dürli bank faýllary gerek bolar:
  • Commons-lang-2.4.jar
  • Junit-4.1.0.jar
  • Jbehave-ýadro-3.8.jar
  • Freemarker-2.3.9.jar
  • Plexus-utils-1.1.jar
  • Paranamer-2.5.jar
  • org.apache.commons.collections.jar
  • org.apache.commons.io.jar
JBehave-iň peýdalary:
  • JBehave-iň synag binýady, oýlanyşykly jikme-jiklikleri we ulanmagyň aňsatlygy sebäpli has ýokarydyr.
  • JBehave, dürli taslamalarda işleýän, ýöne şuňa meňzeş aýratynlyklar bilen aýry-aýry ösüş toparlarynyň arasynda integrasiýa teklip edip, BDD üçin ajaýyp iş edýär.
  • JBehave çarçuwasy döredijiler üçin örän peýdaly ýarym resmi dili ulanýar. Domen sözlügi toparyň gurluşynda yzygiderliligi üpjün edýär.
  • Gyzyklanýan taraplar we taslama ýolbaşçylary synag toparlaryna we ösüş toparynyň işine has aç-açanlyk gazanýarlar, sebäbi spesifikasiýalar şol bir formata eýerýär.
JBehave-iň zyýanly taraplary: JBehave, beýleki BDD synag çarçuwasy ýaly, diňe bir kemçilik ýa-da kemçilik bar. Bir guralyň üstünlik derejesi taslama üstünde işleýän gatnaşyjylaryň: dolandyryş, synagçylar, işläp düzüjiler we beýleki gyzyklanýan taraplaryň arasyndaky aragatnaşyga baglydyr. Communicationaramaz aragatnaşyk şübhelere we jogapsyz soraglara sebäp bolup biler. Bu, programmanyň müşderiniň talaplaryna laýyk gelmezligine, ähli gatnaşyjylaryň günäkärlenmegine sebäp bolup biler. JBehave Java synagy üçin gowymy? JBehave Serenity çarçuwasyna meňzeýär. Şonuň üçin awtomatiki kabul ediş synaglaryny döretmegi meýilleşdirýän bolsaňyz, JBehave-i Serenity bilen bilelikde ulanmak has gowudyr. Serenity düşünjesi, synag netijeleri barada jikme-jik hasabat ýazmaga mümkinçilik berýän BDD ösüşine esaslanýar.

2. JUnit

JUnit , açyk çeşme regressiýa synag çarçuwasy bolup, esasan tejribeli işläp düzüjiler tarapyndan birlik synagyny geçirmek, programmirlemegi çaltlaşdyrmak we Java kodunyň hilini ýokarlandyrmak üçin ulanylýar. Bu guraly ulanmagyň esasy maksady, Java döredijilere gaýtalanyp boljak synag ýagdaýlaryny ýazmaga we durmuşa geçirmäge mümkinçilik bermek. Java-da iň köp ulanylýan birlik synag çarçuwalarynyň biridir. JUnit köplenç kiçi kod böleklerini barlamak üçin ulanylýar. Şeýle hem, Selenium WebDriver bilen JUnit-i awtomatiki Java synagy üçin birleşdirip, awtomatiki web sahypalaryny synagdan geçirmek üçin ulanylyp bilner. Islendik täze kod goşanyňyzda, synag geçirijiden synag synaglarynyň hemmesini täzeden ýüklemek we arakesmeleriň bolmazlygy soralar. JUnit aýratynlyklary:
  • Synag toplumlary;
  • Obýektleriň umumy toplumyny ulanmak;
  • JUnit sapaklary;
  • Synag ylgaýjylary.
JUnit-i gurmak üçin zerur şertler: “SUnit” -iň esasynda we “Smalltalk” -da ýazylan bu Java bölüminiň synag çarçuwasy Selenium WebDriver üçin uýgunlaşdyryldy . Ony gurmak üçin aşakdaky talaplary berjaý etmeli:
  • JDK-nyň iň soňky wersiýasyny kompýuteriňizde saklaň.
  • (Meýletin) $ JUNIT_HOME / src. banka faýly.
  • Obýekte gönükdirilen dilde, has gowusy Java-da programmalary ösdürmegiň başarnyklary we tejribesi.
  • JUnit-iň täze wersiýasyny göçürip alyň we çarçuwany düzüň.
JUnit-iň artykmaçlyklary:
  • JUnit Java 8 aýratynlyklaryny goldaýanlygy sebäpli, integrasiýa we birlik synaglary üçin ulanylyp bilner.
  • Çarçuwaly, irki döwürde ýalňyşlary ýüze çykarmagy aňsatlaşdyrýar, netijede sagdyn we ygtybarly kod bolýar.
  • JUnit bilen işleýän programmistler muny gaty peýdaly hasaplaýarlar. Kod okamagy we gowşak ýerleri barlamagy aňsatlaşdyrýar.
  • JUnit, ýalňyşsyz we has gowy okalýan kod döretmäge mümkinçilik berýär.
  • Eclipse, NetBeans, Maven, Ant we IntelliJ IDEA ýaly esasy IDE-ler bilen diýen ýaly gabat gelýär. Şonuň üçin birlik synaglaryny gönüden-göni bu IDE-lerden ýazyp we işledip bilersiňiz.
  • JUnit-iň täzelenen wersiýasyny (5-nji wersiýa) ulanyp, kadadan çykmany aňsatlyk bilen kesgitläp bilersiňiz.
  • Gurluşyň synag çarçuwasy Java 5 ýa-da beýleki wersiýalary bilen ulanylyp bilner.
JUnit-iň kemçilikleri: JUnit çarçuwasy garaşlylyk synaglaryny geçirip bilmeýär. Munuň üçin TestNG gerek. JUnit Java synagy üçin gowymy? JUnit giňden ulanylýan Java esasly çarçuwadyr. TestNG we JUnit ikisi hem şuňa meňzeş işleri edýärler we garaşlylyk synag mümkinçiliklerinden başga esasy häsiýetleri birneme deňdir. Parametrlenen synaglary geçirmegiň tertibi iki çarçuwada-da tapawutlanýar. JUnit-iň uzak wagt bäri ulanylýandygy sebäpli, Java jemgyýetinden köp goldaw alýar. Şeýle hem, Java esasly programmalar üçin Selenium WebDriver-i birleşdirip, standart birlik synag çarçuwasy hökmünde kesgitlenilýär. Synaglary geçirmek üçin JUnit ýa-da TestNG-iň arasyndaky saýlaw, belli bir işiň şertlerine we zerurlyklaryna baglydyr.

3. rahatlyk

Öň Thucydides diýlip atlandyrylýan rahatlyk , iň köp ulanylýan açyk çeşme Java synag çarçuwalarynyň biridir. Serenity BDD çarçuwasy anyk, gurluşly we dolandyrylýan synag ölçeglerini döretmäge kömek eder. “Selenium WebDriver” we “JUnit” -iň işleýşini giňeldýär. Bu ýöriteleşdirilen platforma bilen, synag synag hasabatlaryny döredip bilersiňiz. Mundan başga-da, awtomatiki synaglary zerurlyklaryňyza laýyklaşdyryp bilersiňiz. Umuman aýdanyňda, bu gurluş Java ösüşini has ygtybarly we täsirli edýär. Arkaýynlygyň aýratynlyklary:
  • Açyk çeşme taslamasy;
  • Synag we durmuşa geçiriş netijeleri barada doly hasabatlar;
  • Her synag üçin iş formaty hasabaty.
Serenity gurmak üçin zerur şertler: Serenity-iň awtomatlaşdyrylan çarçuwasy Java-a esaslanýandygy sebäpli, elbetde Java ýa-da başga bir obýekte gönükdirilen programma dili barada ýeterlik bilim almaly bolarsyňyz. Kompýuteriňizde aşakdakylar hem gurulmalydyr:
  • JDK 5 ýa-da has soň.
  • Maven 3.0 ýa-da has soňraky.
  • IDE (köplenç tutulma).
Arkaýynlygyň peýdalary:
  • Çarçuwa, synaga REST hyzmatlary üçin synag ýagdaýlaryny döretmäge kömek edýär.
  • Synag hadysasynyň beýany we düşünişi, şeýle hem ony durmuşa geçirmäge çemeleşmegiň arasynda deňagramlylygy saklaýar.
  • Ulanyjylara öz awtomatiki infrastrukturasyny saklamak ýa-da döretmek üçin goşmaça wagt sarp etmegiň zerurlygy ýok.
  • Arkaýynlyk, Bahar ýaly dürli ösüş çarçuwalary we Selenium, JBehave ýaly synag çarçuwalary, şeýle hem JIRA ýaly taslama dolandyryş gurallary bilen birleşdirilip bilner.
Arkaýynlygyň zyýany: Serenity-iň ýetmezçiligi Java üçin JBehave çarçuwasyna meňzeýär. BDD tarapyndan berilýän goldawdan has netijeli peýdalanmak üçin taslama gatnaşyjylaryň arasynda yzygiderli aragatnaşyk gerek. Java synagy üçin rahatlyk gowymy? Bu Java synag çarçuwasy esasan kabul ediş ölçeglerini ýazmak we hasabat bermek üçin ulanylýar. Serenity bilen ýazylan hasabatlar, JBehave ýaly beýleki BDD çarçuwalaryna garanyňda has täsirli, peýdaly, baý we maglumat beriji. Programmistlere ýokary hilli synag awtomatlaşdyryş skriptlerini ýazmaga kömek edýär. Serenity, şeýle hem, synagçylara awtomatiki kabul ediş synag ölçeglerini has çalt we aňsat döretmäge mümkinçilik berýän Selenium WebDriver we Rest Assured-i goldaýar.

4.TestNG

TestNG, integrasiýa, funksional we birlik synagy üçin ulanylýan iň meşhur Java synag çarçuwalarynyň biridir. 2004-nji ýylda Sedrik Beist tarapyndan döredilip, häzirki wagtda 7-nji wersiýa täzelendi. JUnit çarçuwasynyň esasy bäsdeşi. TestNG JUnit-e meňzeýär, ýöne Junit tarapyndan goldanylmaýan käbir bellikleri we aýratynlyklary bar. TestNG programma üpjünçiliginiň synaglarynyň ähli görnüşlerinde diýen ýaly ulanylyp bilner, ahyrky, birlik, integrasiýa we funksional. TestNG we JUnit ikisi hem synaglary ýazmaga we ahyrky netijäni barlamaga mümkinçilik berýän Java esasly çarçuwalardyr. Synag üstünlikli bolsa, ýaşyl çyzyk görersiňiz, ýogsam gyzyl çyzyk görersiňiz. TestNG-iň aýratynlyklary:
  • Garaşly usullaryň synagyny goldaýar;
  • Çeýe synag konfigurasiýasy;
  • Berk ýerine ýetiriş modelini goldaýar;
  • Goşmaça çeýeligi üçin BeanShell-de guruldy.
TestNG gurmak üçin zerur şertler: Java esasly TestNG çarçuwasy toparlaşdyrmak, sargyt etmek we parametrizasiýa ýaly aýratynlyklara eýedir. Bu synag ýagdaýlaryny özleşdirýär we öň ulanylan çarçuwalardaky boşluklary ýok edýär. TestNG gurmak üçin size zerur bolar:
  • Iň soňky JDK wersiýasy;
  • Eclipse-iň soňky wersiýasy;
  • Java programmirleme diline ýa-da obýekte gönükdirilen programmirleme diline düşünmek we amaly tejribe.
TestNG-iň peýdalary:
  • Birnäçe kod bölekleriniň paralel synagyny döretmäge we işlemäge mümkinçilik berýär.
  • Synag işi amala aşyrylanda, HTML formatda hasabat döredip bilersiňiz.
  • Synaglar ileri tutulýan ugurlara görä aňsat tertiplenip we toparlara bölünip bilner. Daşarky ýa-da maglumat bazasyny barlamak üçin çarçuwany ýerleşdirip, synaglary geçirmek has aňsat.
  • Maglumatlary parametrlemek we düşündirişler ulanmak arkaly ileri tutulýan ugurlary aňsatlyk bilen kesgitläp bolýar.
TestNG-iň kemçilikleri: Taslamaňyz synag synagynyň ileri tutulmagyny talap etmeýän bolsa, TestNG size laýyk däl bolup biler. Mundan başga-da, TestNG gurmak üçin has köp wagt alýar. TestNG Java synagy üçin gowymy? Öň bilşimiz ýaly, JUnit synag çarçuwasy TestNG ýaly ähli funksiýalary ýerine ýetirýär, ýöne käbir kemçilikleri bar. Synag izolýasiýa geçirilende JUnit ajaýyp. Şeýle-de bolsa, haýsydyr bir garaşlylyk bar bolsa, öňki synaglara gözegçilik edip bilmersiňiz. Java üçin TestNG çarçuwalary, synag ýagdaýlaryny isleýşiňiz ýaly ýerine ýetirmäge mümkinçilik berýär. Mundan başga-da, TestNG-de goşmaça parametrizasiýa goldawyny alarsyňyz . Bu aýratynlyk JUnit 4.5-de eýýäm bar bolsa-da, TestNG çarçuwasy has peýdalydyr. Islendik taslama çylşyrymly bolsa we size 100 ýa-da has köp synag hadysasy gerek bolsa, JUnit ýaly beýleki çarçuwalara doly bagly bolman, goşmaça wagt sarp edip, TestNG çarçuwasyny düzmek has gowudyr.

5.Selenide

Selenide , Selenium WebDriver bilen işleýän meşhur açyk Java synag çarçuwasydyr. Java programmasy üçin takyk, aragatnaşyk we durnukly UI synaglaryny ýazmak üçin ajaýyp gural. WebDriver we JUnit-iň işleýşini giňeldýär. WebDriver iň gowy görýän UI synag gurallarymyzyň biridir, ýöne gutarmak mümkinçilikleri ýok. Mysal üçin, Ajax ýaly web tehnologiýalaryny barlamak. Selenid çarçuwasy bu meseleleriň hemmesini aňsatlyk bilen çözýär. Mundan başga-da, gurmak we öwrenmek has aňsat. Diňe logika ünsi jemlemeli, galanlaryny Selenide eder. Selenid aýratynlyklary:
  • Çylşyrymly gurnama talap etmeýär;
  • Köp kod ýazmagy talap etmeýär;
  • Köp wagt tygşytlaýar;
  • Jenkins ýaly CI Tool üçin amatly konfigurasiýa.
Selenide gurmak üçin zerur şertler: Bu çarçuwa Java esasly bolansoň, Java ýa-da başga obýekte gönükdirilen programma dilleri bilen tejribe gerek bolar. Kompýuteriňize aşakdakylar gurulmalydyr:
  • JDK 5 ýa-da has täze;
  • Maven 3.0 ýa-da beýleki wersiýalary;
  • Toplumlaýyn ösüş gurşawy (IDE) gural. Köplenç ähli döredijiler “Eclipse” -ni has gowy görýärler, sebäbi “Eclipse” bilen “Maven” -iň kombinasiýasy bilen işlemek has aňsat.
Selenidiň peýdalary:
  • Selenide synaglaryňyzy takyk we durnukly edýär, ähli Aýaks / wagt meselelerini çözýär (diýen ýaly).
  • Synag hadysalaryny ýazmak prosesini azaltmak.
  • AngularJS ulanyp işlenip düzülen programmalaryň synaglary üçin goldaw.
  • Beýleki Selenium gurallary tarapyndan öň ulanylan buýruklaryň sanyny azaldar.
Selenidiň kemçilikleri: Şu wagta çenli hiç kim Selenidi ulanmagyň göze görnüp duran kemçiliklerini tapmady. Selenide Java synagy üçin gowymy? UI synaglaryny geçirmek isleseňiz, ilki Selenium WebDriver-i öwrenersiňiz. Şeýle-de bolsa, Selenium WebDriver haýal JavaScript başlangyjy, Ajax wagty gutarmagy ýa-da ýüklemek üçin goşmaça wagt talap edýän islendik dinamiki mazmun bilen baglanyşykly meseleleri çözüp bilmeýär. Bu meseleleri çözmek üçin ozal synag ýagdaýlarynda "uky" ýa-da "garaşmak" usullaryny ulanýardyk. Selenide ýaly Java synag çarçuwasy bilen, indi bu meseleler hakda pikir etmegiň zerurlygy ýok.

6.Gauge

“Selenium Thoughtworks” -iň döredijileri web programmalarynda awtomatiki synaglary geçirmek üçin ýene bir Java synag binýadyny çykardylar. Gauge, az kod bilen kabul ediş synagynyň ýüküni azaldýan Java üçin mugt we açyk çeşme synag awtomatlaşdyryş çarçuwasydyr. Jübi web sahypalaryny barlamak üçin tehnologiýa ýygyndy kategoriýasynda iň köp ulanylýan Java synag çarçuwalarynyň biridir. Bu çarçuwany ulanyp awtomatlaşdyrylan synaglar, diline garamazdan aňsat okalýan synaglary döredip biler. Selenium ýaly, bu synag çarçuwasy Ruby, JavaScript, Java, C # we Python ýaly birnäçe programma dillerini goldaýar. Ölçeg aýratynlyklary:
  • Ulanmak aňsat, çeýe sintaksis;
  • Işewür dil ulanýar;
  • Birnäçe dilleri we platformalary goldaýar;
  • Köp plugin.
Gauge gurmak üçin zerur şertler:
  • Maveni göçürip alyň ;
  • Microsoft Windows 10 ýa-da has ýokary operasiýa ulgamy;
  • Oryat - 512 MB RAM (iň az);
  • Gauge plugin, integrirlenen ösüş gurşawyňyz (IDE) bilen sazlanmalydyr ýa-da synagy CMD / Terminaldan geçirýän bolsaňyz, Gauge çarçuwasy gurulmalydyr.
Gauge-nyň artykmaçlyklary:
  • Ripazgylary okalýan we düşnükli edýär.
  • Ulanmak aňsat, çeýe sintaksis we ähli diller (Java, Javascript, C #, Ruby, Python we ş.m.) we platformalar üçin goldaw.
  • Islän ugruňyzyň toplumlaýyn ösüş gurşawynda (IDE) synaglary döretmäge mümkinçilik berýär (IntelliJ, Vi VS Code, Visual Studio, Maven, Gradle, Eclipse we ş.m.).
  • Paralel synag geçirýär we ýörite hasabatlar döredýär.
  • Highokary takyklygy we okalmagyny saklamak bilen uly maglumatlar toplumyny aňsatlyk bilen barlaýar.
Gaugeň kemçilikleri:
  • Gauge täze çarçuwadyr, şonuň üçin ulanyjylar bu hakda kän zat bilmeýärler.
  • Gauge, sürüjiniň statikdigi we skriptler bilen bilelikde ulanylmalydygy sebäpli IntelliJ-de spesifikasiýalaryň ygtybarly paralel ýerine ýetirilmegini goldamaýar.
Gauge Java synagy üçin gowymy? Gauge Java synag çarçuwasy, brauzer synagy üçin ajaýyp. Aýratynlyklary şeýle bir ýönekeý welin, hatda tehniki däl ulanyjylara hem synaglary aňsatlyk bilen ýazmaga mümkinçilik berýär.

7. Geb

Geb, Selenium WebDriver-iň üstünde gurlan brauzer synag çarçuwasydyr. Bu awtomatiki synaglar üçin amatly edýär we WebDriver tarapyndan goldanýan ähli brauzerlerde aňsatlyk bilen brauzer synagyny geçirip bilersiňiz. Geb, öňdäki maglumatlary derňemek, web synagy we başgalar üçin adatdan daşary mümkinçilikleri üpjün edýär. Aýratynlaşdyrýan zat, HTML sahypalaryny soramagyň usuly, jQuery ýaly sintaksis öndürýär. Geb platformasy, sahypa obýekt modeli üçin ýerli goldawy hem hödürleýär . Geb umumy gyrmak, skript ýazmak we awtomatlaşdyrmak üçin ulanylyp bilner. TestNG, JUnit we Spock ýaly synag çarçuwalary bilen integrasiýa netijesinde kabul ediş synagy, web synagy ýa-da funksional synag üçin çözgüt hökmünde deň derejede laýyk gelýär. Geb aýratynlyklary:
  • Doly jQuery sintaksis goldawy;
  • Apache ygtyýarnamasy 2.0;
  • WebDriver gabat gelýär;
  • Sahypanyň obýektlerini modellemegiň durnuklylygy;
  • Groowy artikulýasiýa.
Geb gurmak üçin talaplar: Gebiň artykmaçlyklary:
  • “Page Objects” görnüşi we Geb-iň “Groovy DSL” synaglary iňlis diline has az meňzeşligi sebäpli synaglary okamagy aňsatlaşdyrýar.
  • Synaglary ýokary tizlikde geçirýär we synag çykdajylaryny tygşytlaýar. Internet Explorer, HTMLUnit, Firefox we Chrome ýaly dürli brauzerler bilen utgaşykly.
  • Ulanyjynyň synlajak synaglaryny hakyky wagtda we hakyky gurşawda geçirýär. Synaglaryň iň ýokary netijeliligini bir skriptde üpjün edýär.
  • Mesele bolmazdan regress synagyny geçirmäge mümkinçilik berýär. Programmada üýtgedilenden ýa-da düzedilenden soň haýsydyr bir işjeň funksiýanyň bozulandygyny ýa-da ýokdugyny barlamak üçin Geb synag ýagdaýlaryny işledip bilersiňiz.
Gebiň kemçilikleri:
  • Geb-iň erbet tarapy, WebDriver-i Groowy dilinde ulanmagydyr. Şonuň üçin Webdriver ulanylanda diňe şol aýratyn dil goldaýar. Şeýle-de bolsa, WebDriver-i gönüden-göni ulanjak bolsaňyz, Java, Ruby, C # we Python ýaly beýleki dilleri goldaýar.
  • Geb kiçi taslamalar üçin amatly däl, ýöne uly meseleler üçin gowy işleýär. Web programmaňyzda maglumatlaryň akmaly sahypalary we görnüşleri ýok bolsa, gurluşy kyn ýaly bolup biler.
Geb Java synagy üçin gowymy? Geb-iň Java synag çarçuwasy, hyýar, TestNG, JUnit we Spock ýaly platformalar üçin akylly integrasiýa modullaryny üpjün edýär. Geb üçin iň gowy saýlama Spock bolar. Bu iki çarçuwany ulanmak, az tagalla bilen gysga, düşnükli we düşnükli synag aýratynlyklaryny döredip biler.

8.Spock

Spock, Java üçin meşhur synag awtomatlaşdyryş çarçuwasydyr. Groowy-da ýazylan we synagçylara Java Wirtual Machine-da maglumatlar bilen dolandyrylýan synaglary geçirmäge mümkinçilik berýär. Spock, JVM-ni goldaýan köp diller bilen ajaýyp utgaşyklygy üpjün edýär. “Spock” ​​-yň aýratynlyklaryndan biri, kod resminamalarynyň we kod okalmagynyň tertipli we tertipli bolmagy, üstesine-de ýönekeý iňlis sözlemlerini düşündirip bilmekidir. Programma üpjünçileri Java-da kärhana programmalaryny döretmek üçin köplenç ulanylýar. Şol sebäplere görä, Spock 2020-nji ýylda iň meşhur we ulanyjy üçin amatly Java synag çarçuwasyna öwrüldi. Spock aýratynlyklary:
  • Aslynda, bu JUnit Java çarçuwasynyň giňeldilen görnüşi;
  • Masgaralaýjy zatlary goldamak;
  • Synaglar islendik dilde ýazylyp bilner.
“Spock” ​​-y gurmak üçin zerur şertler:
  • Iň soňky JDK wersiýasy;
  • “Eclipse” -iň täzelenen görnüşi;
  • Java programmirleme dilini bilmek.
Spock artykmaçlyklary:
  • Beýleki Java awtomatlaşdyryş synag çarçuwalary bilen deňeşdirilende, iňlis dilinde ýönekeý sözlemler bilen utgaşyklygy üpjün edýän haýran galdyryjy okalma.
  • Spock bilen pyçaklamak we masgaralamak öňküsinden has aňsat we agyrysyz. Mundan başga-da, olar çarçuwada gurlupdyr.
  • Has düşnükli we has gysga parametrizasiýa.
  • Şowsuzlygyň sebäbini tapmagy aňsatlaşdyrýan daş-töweregi saklaýar.
  • Plönekeýleşdirilen we aragatnaşyk domeniniň aýratyn dili (DSL).
Spokyň kemçilikleri:
  • Groowy dilinde ýazylýar, şonuň üçin Groowy hakda esasy bilimleriňiz bolmaly.
  • “Spock” ​​çarçuwasyny birneme kynlaşdyryp bilersiňiz, ýöne bu zatlar bilen tanyş bolanyňyzdan soň, beýleki Java synag çarçuwalaryna geçmek hakda pikir etmersiňiz.
Spock Java synagy üçin gowymy? Hawa, köpler ony iň gowy Java synag çarçuwasy hasaplaýarlar we birinji ýerde goýýarlar. Spock, güýçli DSL, ulanmagyň aňsatlygy we içgin ulanyjy interfeýsi sebäpli, Özüňi alyp barşyň ösüşi üçin iň oňat synag platformasydyr. Esasanam JVM esasly programmalaryňyz bar bolsa. Spock RSpec, jMock, JUnit, Mockito, Vulcans, Groovy, Scala we beýleki peýdaly tehnologiýalar bilen utgaşýar.

9. HttpUnit

HttpUnit giňden ulanylýan açyk çeşme synag çarçuwasydyr. Web sahypalaryny brauzer talaplary bolmazdan barlamaga mümkinçilik berýär. HttpUnit web programmalary üçin awtomatiki synag skriptlerini işletmek üçin ajaýyp. Adyndan görnüşi ýaly, HttpUnit birlik synaglary üçin ulanylyp bilner. Şeýle-de bolsa, serwletler, JSP (JavaServer sahypalary) we beýleki şablon elementleri ýaly umumy web derejeli elementler birlik synaglaryna laýyk däl. Java-da ýazylan çarçuwa, gaýdyp gelen sahypalarda, XML DOM-da, tekstde, stol gaplarynda, baglanyşyklarda we görnüşlerde synaglary geçirmäge mümkinçilik berýär. HttpUnit-iň aýratynlyklary:
  • Gutapjyk goldawy;
  • HTTPS we HTTP protokollaryny goldaýar;
  • HTML jogap goldawy;
  • Proksi serwer goldawy;
  • Ajaýyp JavaScript goldawy.
HttpUnit gurmak üçin zerur şertler:
  • Ulgam Java JDK 1.4 ýa-da iň soňky wersiýasyny goldamalydyr.
  • HttpUnit bilen birleşdirilen Tidy.jar we httpunit.ja, synp ýoluňyza goşuň; Şeýle hem, XML derňewçisiniň öňünden gurlandygyna göz ýetiriň.
  • Java-yň köne wersiýasyny ulanýan bolsaňyz, synp ýoluňyza JAXP gabat gelýän XML analizatoryny goşmaly.
  • HttpUnit-iň soňky wersiýasy bu sahypada elýeterlidir .
HttpUnit-iň artykmaçlyklary:
  • Web programmalarynyň synagyny awtomatlaşdyrmaga mümkinçilik berýär we regress synagynda kömek edýär.
  • HTTPUnit-iň artykmaçlyklaryndan biri, Selenium ýaly beýleki synag awtomatlaşdyryş çarçuwalaryndan has çalt bolmagydyr.
  • Customöriteleşdirilen brauzeriň (IE ýa-da Firefox) işini simulirlemäge mümkinçilik berýän ajaýyp JavaScript goldawy.
  • HTTPUnit esasy dili hökmünde Rhino JavaScript hereketlendirijisini ulanýar we brauzeriň ýerine ýetirilmegi üçin obýektiň ýerine ýetirilmegini üpjün edýär.
  • Meşhur JavaScript kitaphanalaryndan birlik synaglary, bu bölüm synaglarynyň esasynda HtmlUnit-iň öz synag synaglaryna birleşdirildi. JQuery 1.11.3, MochiKit 1.4.1, MooTools 1.2.1 we ş.m. kitaphanalaryny goldaýar, HtmlUnit bilen ajaýyp işleýär.
  • HtmlPage.executeJavascript (String yourJsCode) ulanyp, häzirki sahypa kod girizmek ukyby.
HttpUnit-iň kemçilikleri:
  • Simpleönekeý synaglary geçirmek üçin bu gowy wariant, ýöne çylşyrymly synaglary döretmek has köp kod talap eder.
  • “Selenium” ýaly çarçuwalar has synagdan geçirilýän programmalary çäklendirmeýän brauzer merkezi hereketine mümkinçilik berýär. HttpUnit çarçuwasy bilen käbir esasy brauzerlerden başga çäkli goldaw alarsyňyz.
Java synagy üçin HttpUnit gowymy? HttpUnit ulanmak, gurmak we işletmek gaty aňsat. Simpleönekeý synaglary geçirmek üçin ulanmak gowy, ýöne çylşyrymly synaglary döretmek ýokary derejeli kodlamagy talap eder. HTTPUnit bilen deňeşdirilende, Selenium ýaly synag awtomatlaşdyryş çarçuwasynyň has artykmaçlyklary bar. “Model-View Controller” platformasyna esaslanýan elementler barada aýdylanda bolsa, beýleki görnüşli platformalar bilen synag üçin amatly. Mysal üçin, WebWork 2 işi web konteýnersiz synag edilip bilner, Struts çäreleri StrutsUnit ulanyp synag edilip bilner.

10. JWebUnit

JWebUnit, JUnit-iň giňelmesi bolan Java esasly synag çarçuwasydyr . Integrasiýa, regressiýa we funksional synag üçin ulanylýar. JWebUnit, HTMLUnit we Selenium ýaly häzirki işjeň çarçuwalary ýönekeý synag interfeýsi bilen birleşdirýär. Şeýlelik bilen web programmalaryňyzyň takyklygyny derrew barlap bilersiňiz. JWebUnit ekranda nawigasiýa synaglaryny geçirmek üçin ulanylyp bilner. Şeýle hem, platforma, programmanyň takyklygyny barlamak üçin web programmasyna nawigasiýa üçin ösen Java amaly programma interfeýsini hödürleýär. Bu baglanyşyk nawigasiýasyny, giriş görnüşini we tabşyrmagy, tablisanyň mazmunyny esaslandyrmagy we iş programmalarynyň beýleki umumy aýratynlyklaryny göz öňünde tutýar. JWebUnit-iň aýratynlyklary:
  • Web programmasynda gezmek üçin iň ýokary derejeli Java API.
  • Açyk çeşme Java esasly çarçuwa.
JWebUnit gurmak üçin zerur şertler:
  • Maven gurmaly.
  • JWebUnit-iň häzirki durnukly wersiýasy 3.3. Java 1.7 talap edilýär.
  • Gerekli plagini goşuň: Has çalt synaglar we Javascript we Webdriver üçin ajaýyp goldaw üçin HtmlUnit: BETA hili.
  • Maven 2 ulanylanda Eclipse-de garaşlylygy dolandyrmak üçin m2e pluginini ulanyň.
JWebUnit-iň artykmaçlyklary:
  • Ekranda nawigasiýa synamak üçin ulanylýar.
  • Web programmalaryna nawigasiýa üçin ýokary derejeli API üpjün edýär.
  • Aňsat elýeterli tassyklamalar bilen ýönekeý nawigasiýa, JUnit ýa-da HtmlUnit ulanmakdan has çalt synaglary döretmäge mümkinçilik berýär.
  • Kimdir biri HtmlUnit-den Selenium ýaly beýleki pluginlere geçmek islese, synaglary täzeden ýazmagyň zerurlygy ýok.
JWebUnit-iň kemçilikleri: TestNG we JWebUnit ikisi hem şuňa meňzeş iş edýärler we garaşlylyk synag mümkinçiliklerinden başga aýratynlyklar gaty meňzeýär. JWebUnit Java synagy üçin gowymy? Htmlunit, JavaScript goldawy üçin iň amatly wariant. Şeýle-de bolsa, JWebUnit amaly programma interfeýslerini hödürleýär, JWebUnit bilen açyk kod ýazmak hem aňsat, bu HttpUnit bilen köplenç mümkin däl. JWebUnit-de bir adam diňe HTML hakda gödek düşünýän hem bolsa, ony elýeterli we ulanmagy aňsatlaşdyrýan içgin API bar. JWebUnit gowy işleýär, ýöne käwagt azajyk BDD goşmak üýtgeşiklik döredip biler. Özüňi alyp barşyň dizaýny ýa-da ösüşi, JWebUnit ulanyp, programmaňyz bilen ulanyjylaryň özara täsirini modelleşdirmegiň ajaýyp usulydyr.

Netije

Döredijiler üçin programma üpjünçiligini barlamak boýunça hünärmen bolmak we synaga berk düşünmek möhümdir. Tejribeli Java döredijileri täze doglanlardan tapawutlandyrýan zat şu. Kämillige has ýakynlaşmak üçin ýokarda agzalan 10 sany iň gowy Java synag çarçuwasyny öwrenmek maslahat berilýär. Arzalaryňyzy barlamagy aňsatlaşdyrar. Java synag çarçuwalary bilen tanyşmakdan başga-da, dogry synag awtomatlaşdyryş çarçuwasyny saýlamaly
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION