Sumber: Dev.to Java unit testing frameworks nyedhiyakake alat standar, canggih, lan extensible kanggo pangembang kanggo nggawe aplikasi utawa piranti lunak liyane. Iki kalebu akeh obyek sing ngemot kode sing wis ditulis. Gumantung saka pilihan kerangka uji coba, kalebu perpustakaan, kompiler, alat lan API. Kerangka pengujian unit Java nyedhiyakake kontrol keamanan sing kuat kanggo aplikasi kasebut. Yen kerentanan keamanan ditemokake, bisa didandani ing situs web / dhukungan kerangka. Pencipta kerangka malah nawakake fungsi lan modul sing dibangun sing nambah efisiensi lan kacepetan programer lan penguji. Apa sing dikarepake saka platform uji coba dekade iki? Kita menehi perhatian sampeyan dhaptar kerangka uji coba Java paling apik ing taun 2020.
1. JB duweke
JBehave minangka salah sawijining kerangka uji coba Java sing paling apik kanthi dhukungan BDD (Pengembangan Perilaku-Driven). BDD minangka kelanjutan evolusi TDD (Test-Driven Development) lan ATDD (Acceptance Test-Driven Development). Distribusi utama Jbehave:- JB duwe Web,
- JB duwe inti.
- Commons-lang-2.4.jar
- Junit-4.1.0.jar
- Jbehave-inti-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
- Kerangka uji coba JBehave luwih apik amarga rincian sing dipikirake lan gampang digunakake kanthi intuisi.
- JBehave nindakake proyek sing apik kanggo BDD, nawakake integrasi ing antarane tim pangembangan sing kapisah sing nggarap proyek sing beda-beda nanging kanthi spesifikasi sing padha.
- Kerangka JBehave nggunakake basa semi-resmi sing migunani banget kanggo pangembang. Vocabulary domain njamin konsistensi ing struktur tim.
- Para pemangku kepentingan uga manajer proyek entuk transparansi sing luwih gedhe menyang tim uji lan kinerja tim pangembangan amarga spesifikasi kasebut padha karo format sing padha.
2. JUnit
JUnit minangka kerangka uji coba regresi open-source sing digunakake utamane dening pangembang sing berpengalaman kanggo nindakake testing unit, nyepetake program, lan nambah kualitas kode Java. Tujuan utama nggunakake alat iki kanggo ngaktifake pangembang Java kanggo skrip lan ngleksanakake kasus tes sing bisa diulang. Iku salah siji saka framework testing unit paling umum digunakake ing Jawa. Paling asring, JUnit digunakake kanggo nguji potongan kode cilik. Uga bisa digunakake kanggo nindakake tes situs web otomatis kanthi nggabungake Selenium WebDriver karo JUnit kanggo tes Java otomatis. Nalika nambahake kode anyar, panguji bakal dijaluk ngisi maneh kasus tes lengkap lan mesthekake yen ora ana jeda. Fitur JUnit:- Suite tes;
- Nggunakake set umum obyek;
- kelas JUnit;
- Test Runners.
- Duwe versi paling anyar saka JDK ing komputer.
- (Opsional) Unzip $JUNIT_HOME/src. file jar.
- Katrampilan lan pengalaman ngembangake aplikasi ing basa berorientasi obyek, luwih disenengi Jawa.
- Download versi anyar JUnit lan konfigurasi framework.
- Wiwit JUnit ndhukung fitur Java 8, bisa digunakake kanggo tes integrasi lan unit.
- Framework nggampangake ndeteksi kesalahan ing tahap awal, ngasilake kode sing sehat lan dipercaya.
- Programer sing nggarap JUnit nemokake banget migunani. Iku luwih gampang kanggo maca kode lan mriksa kerentanan.
- JUnit ngidini sampeyan nggawe kode sing bebas saka kesalahan lan luwih gampang diwaca.
- Kompatibel karo meh kabeh IDE utama kayata Eclipse, NetBeans, Maven, Ant lan IntelliJ IDEA. Supaya sampeyan bisa kanthi gampang nulis lan mbukak tes unit langsung saka IDE kasebut.
- Nggunakake versi JUnit sing dianyari (versi 5), sampeyan bisa kanthi gampang nemtokake pangecualian.
- Framework testing unit bisa digunakake karo Java 5 utawa versi liyane.
3. Serenity
Serenity , sing biyen dikenal minangka Thucydides, minangka salah sawijining kerangka pengujian Java open source sing paling akeh digunakake. Kerangka kerja Serenity BDD bakal mbantu nggawe kritéria tes sing jelas, terstruktur lan bisa diatur. Iku ngluwihi fungsi Selenium WebDriver lan JUnit. Kanthi platform khusus iki, sampeyan bisa nggawe laporan tes deskriptif. Kajaba iku, sampeyan bisa cocog testing otomatis kanggo kabutuhan. Sakabèhé, kerangka iki ndadekake pangembangan Jawa luwih dipercaya lan efisien. Fitur Serenity:- Proyek sumber terbuka;
- Laporan lengkap babagan asil tes lan implementasine;
- Laporan format bisnis kanggo saben tes.
- JDK 5 utawa mengko.
- Maven 3.0 utawa mengko.
- IDE (biasane Eclipse).
- Kerangka kasebut mbantu panguji nggawe kasus uji kanggo layanan REST.
- Njaga keseimbangan antarane deskripsi lan pangerten babagan kasus uji, uga pendekatan kanggo implementasine.
- Pangguna ora perlu nglampahi wektu tambahan kanggo njaga utawa nggawe infrastruktur otomatis dhewe.
- Serenity bisa digabungake karo macem-macem kerangka pangembangan kayata Spring lan kerangka uji coba kayata Selenium, JBehave, uga alat manajemen proyek kayata JIRA.
4. TestNG
TestNG minangka salah sawijining kerangka uji coba Java sing paling populer digunakake kanggo integrasi, fungsional, lan uji unit. Iki digawe dening Cedric Beist ing 2004 lan saiki wis dianyari kanggo versi 7. Iku pesaing utama framework JUnit. TestNG padha karo JUnit, nanging nduweni sawetara anotasi lan fitur sing ora didhukung dening Junit. TestNG bisa digunakake ing meh kabeh jinis tes piranti lunak, kalebu end-to-end, unit, integrasi, lan fungsional. Loro-lorone TestNG lan JUnit minangka kerangka basis Java sing ngidini sampeyan nulis tes lan verifikasi asil pungkasan. Yen tes kasebut sukses, sampeyan bakal weruh garis ijo, yen ora, sampeyan bakal weruh garis abang. Fitur TestNG:- Ndhukung testing saka cara gumantung;
- Konfigurasi tes fleksibel;
- Ndhukung model eksekusi sing kuat;
- Dipasang ing BeanShell kanggo nambah keluwesan.
- Versi JDK paling anyar;
- Versi paling anyar saka Eclipse;
- Pangerten lan pengalaman praktis babagan basa pemrograman Java utawa basa pemrograman berorientasi obyek liyane.
- Ngidini sampeyan nggawe lan nglakokake tes paralel saka pirang-pirang fragmen kode.
- Nalika ngleksanakake test case, sampeyan bisa nggawe laporan ing format HTML.
- Tes bisa gampang diatur lan dikelompokake miturut prioritas. Iku luwih gampang kanggo mbukak tes dening mung sijine framework ing Panggonan kanggo nindakake testing external utawa testing database.
- Prioritas bisa gampang disetel kanthi parameterisasi data lan nggunakake anotasi.
5. Selenide
Selenide minangka kerangka pengujian Java open source populer sing didhukung dening Selenium WebDriver. Iki minangka alat sing apik kanggo nulis tes UI sing akurat, komunikatif lan stabil kanggo aplikasi Java. Iku ngluwihi fungsi WebDriver lan JUnit. WebDriver minangka salah sawijining alat tes UI sing paling disenengi, nanging ora duwe kemampuan wektu entek. Contone, nguji teknologi web kayata Ajax. Framework Selenide gampang nangani kabeh masalah iki. Kajaba iku, luwih gampang nginstal lan sinau. Sampeyan mung kudu fokus ing logika lan Selenide bakal nindakake liyane. Fitur Selenide:- Ora mbutuhake persiyapan rumit;
- Ora mbutuhake nulis akeh kode;
- Ngirit wektu akeh;
- Konfigurasi becik kanggo Alat CI kaya Jenkins.
- JDK 5 utawa luwih anyar;
- Maven 3.0 utawa versi liyane;
- Alat Lingkungan Pengembangan Terpadu (IDE). Paling asring, kabeh pangembang luwih seneng Eclipse amarga kombinasi Eclipse lan Maven luwih gampang digarap.
- Selenide nggawe tes sampeyan akurat lan stabil, ngrampungake (meh) kabeh masalah Ajax / wektu.
- Ngurangi proses nulis kasus tes.
- Dhukungan kanggo tes aplikasi sing dikembangake nggunakake AngularJS.
- Nyuda jumlah printah sing sadurunge digunakake dening alat Selenium liyane.
6. Gauge
Pencipta Selenium Thoughtworks wis ngeculake kerangka uji coba Java liyane kanggo nindakake tes otomatis ing aplikasi web. Gauge minangka kerangka otomatisasi tes gratis lan mbukak sumber kanggo Java sing nyuda beban tes acceptance kanthi kode sing kurang. Iki minangka salah sawijining kerangka uji coba Java sing paling umum digunakake ing kategori tumpukan teknologi kanggo nguji situs web seluler. Tes otomatis nggunakake kerangka kerja iki bisa ngasilake tes sing gampang diwaca tanpa preduli saka basa. Kaya Selenium, kerangka uji coba iki ndhukung macem-macem basa pemrograman kalebu Ruby, JavaScript, Java, C#, lan Python. Fitur Gauge:- Gampang digunakake, sintaksis fleksibel;
- Migunakake basa kaya bisnis;
- Ndhukung pirang-pirang basa lan platform;
- Akeh plugins.
- Ngundhuh lan nginstal Maven ;
- Sistem operasi Microsoft Windows 10 utawa luwih dhuwur;
- Memori - 512 MB RAM (minimal);
- Plugin Gauge kudu dikonfigurasi karo lingkungan pangembangan terpadu (IDE) utawa kerangka Gauge kudu diinstal yen sampeyan nindakake tes saka CMD/Terminal.
- Ndadekake skrip bisa diwaca lan bisa dingerteni.
- Gampang digunakake, sintaksis fleksibel lan dhukungan kanggo kabeh jinis basa (Jawa, Javascript, C #, Ruby, Python, lsp) lan platform.
- Ngidini sampeyan nggawe tes ing lingkungan pangembangan terpadu (IDE) sing dipilih (IntelliJ, Vi VS Code, Visual Studio, Maven, Gradle, Eclipse, lsp.).
- Nindakake tes paralel lan ngasilake laporan khusus.
- Gampang nguji set data gedhe nalika njaga akurasi lan keterbacaan sing dhuwur.
- Gauge minangka kerangka kerja anyar, mula pangguna ora ngerti babagan iki.
- Gauge ora ndhukung implementasine paralel sing aman saka spesifikasi ing IntelliJ amarga driver statis lan kudu digunakake bebarengan karo skrip.
7. Geb
Geb minangka kerangka uji coba browser sing dibangun ing ndhuwur Selenium WebDriver. Iki ndadekake becik kanggo tes otomatis, lan sampeyan bisa kanthi gampang nindakake tes lintas-browser ing kabeh browser sing didhukung dening WebDriver. Geb nyedhiyakake kemampuan luar biasa kanggo analisis data ngarep, tes web, lan liya-liyane. Sing nggawe luar biasa yaiku cara pitakon kaca HTML, ngasilake sintaks kaya jQuery. Platform Geb uga nawakake dhukungan asli kanggo Model Obyek Halaman . Geb bisa digunakake kanggo scraping umum, skrip, lan uga kanggo otomatisasi. Iku uga cocog minangka solusi kanggo testing acceptance, testing web utawa testing fungsi thanks kanggo integrasi karo framework test kayata TestNG, JUnit lan Spock. Fitur Geb:- Dhukungan sintaks jQuery lengkap;
- Lisensi Apache 2.0;
- Kompatibel karo WebDriver;
- Stabilitas pemodelan obyek kaca;
- Artikulasi groovy.
- Sampeyan kudu ngundhuh lan nginstal Maven ;
- Kasedhiyan Jawa 8 utawa luwih anyar;
- Bukti otentikasi lan verifikasi LambdaTest;
- Salinan repositori LambdaTest ing GitHub kanggo kerangka otomatisasi tes Geb.
- Wangun Obyek Halaman lan DSL Groovy Geb nggawe tes gampang diwaca amarga meh padha karo basa Inggris.
- Nglakokake tes kanthi kacepetan dhuwur lan ngirit biaya tes sampeyan. Kompatibel karo macem-macem browser kayata Internet Explorer, HTMLUnit, Firefox lan Chrome.
- Nindakake tes ing wektu nyata lan ing lingkungan nyata-sing bakal diamati pangguna. Nyedhiyakake efisiensi maksimal tes ing siji skrip.
- Ngidini sampeyan nindakake tes regresi tanpa masalah. Sampeyan bisa mbukak kasus test Geb kanggo mriksa apa fungsi aktif rusak sawise modifikasi utawa ndandani ing aplikasi.
- Kelemahane Geb yaiku nggunakake WebDriver ing basa Groovy. Mulane, mung basa tartamtu sing didhukung nalika nggunakake Webdriver. Nanging, yen sampeyan nyoba nggunakake WebDriver langsung, bakal ndhukung basa liyane, kalebu Java, Ruby, C # lan Python.
- Geb ora cocok kanggo proyek cilik, nanging bisa digunakake kanggo tugas gedhe. Yen aplikasi web sampeyan ora ngemot kaca lan formulir ing ngendi data kudu mili, struktur kasebut bisa uga ora bisa digunakake.
8. Soko
Spock minangka kerangka otomatisasi tes populer kanggo Jawa. Iki ditulis ing Groovy lan ngidini panguji kanggo mbukak tes data-driven ing Java Virtual Machine. Spock nyedhiyakake kompatibilitas banget karo akeh basa sing ndhukung JVM. Salah sawijining fitur saka Spock yaiku dokumentasi kode lan keterbacaan kode diatur lan rapi, ditambah bisa napsirake ukara basa Inggris sing prasaja. Asring digunakake dening pangembang piranti lunak kanggo nggawe aplikasi perusahaan ing Jawa. Amarga alasan kasebut, Spock wis dadi kerangka uji coba Java sing paling populer lan ramah pangguna ing taun 2020. Fitur Spock:- De facto, iki versi lengkap saka framework JUnit Java;
- Dhukungan kanggo obyek mock;
- Tes bisa ditulis nganggo basa apa wae.
- Versi JDK paling anyar;
- Versi Eclipse sing dianyari;
- Kawruh basa pamrograman Jawa.
- Keterbaca sing nggumunake, njamin kompatibilitas karo ukara basa Inggris sing biasa dibandhingake karo kerangka uji coba otomatisasi Jawa liyane.
- Stubbing lan Mocking karo Spock luwih gampang lan ora krasa lara. Kajaba iku, padha dibangun ing framework.
- Parameterisasi sing luwih cetha lan luwih cendhek.
- Njaga konteks lingkungan, supaya luwih gampang nemokake panyebab kegagalan.
- Sederhana lan komunikatif Domain Spesifik Basa (DSL).
- Iki ditulis ing Groovy, dadi sampeyan kudu duwe kawruh dhasar babagan Groovy.
- Sampeyan bisa nemokake framework Spock sethitik clunky, nanging yen sampeyan njaluk menowo karo, sampeyan ora bakal mikir bab ngalih menyang frameworks test Java liyane.
9. HttpUnit
HttpUnit minangka kerangka testing open source sing akeh digunakake. Ngidini sampeyan nyoba situs web tanpa syarat browser. HttpUnit apik kanggo mbukak skrip testing otomatis kanggo aplikasi web. Minangka jeneng kasebut, HttpUnit bisa digunakake kanggo tes unit. Nanging, unsur undakan web umum kayata servlets, JSP (JavaServer Pages), lan unsur cithakan liyane ora bisa ditrapake kanggo tes unit. Ditulis ing Jawa, framework ngijini sampeyan kanggo mbukak tes ing kaca bali, XML DOM, teks, wadhah meja, pranala lan formulir. Fitur HttpUnit:- Dhukungan cookie;
- Ndhukung protokol HTTPS lan HTTP;
- Dhukungan respon HTML;
- Dhukungan server proxy;
- Dhukungan JavaScript sing apik banget.
- Sistem kudu ndhukung Java JDK 1.4 utawa versi paling anyar.
- Tambah Tidy.jar lan httpunit.ja, terpadu karo HttpUnit, kanggo classpath; Uga priksa manawa parser XML wis diinstal.
- Yen sampeyan nggunakake versi lawas saka Jawa, sampeyan kudu kalebu JAXP-kompatibel XML parser ing classpath Panjenengan.
- Versi paling anyar saka HttpUnit kasedhiya ing kaca iki .
- Ngidini sampeyan ngotomatisasi tes aplikasi web lan mbantu tes kemunduran.
- Salah sawijining keuntungan saka HTTPUnit yaiku luwih cepet tinimbang kerangka otomatisasi tes liyane kayata Selenium.
- Dhukungan JavaScript sing apik banget, sing ngidini sampeyan nggawe simulasi karya browser khusus (IE utawa Firefox).
- HTTPUnit nggunakake mesin JavaScript Badhak minangka basa inti lan nyedhiyakake eksekusi obyek kanthi persis kanggo implementasi browser.
- Tes unit saka perpustakaan JavaScript populer digabungake menyang tes unit HtmlUnit dhewe adhedhasar tes unit kasebut. Ndhukung jQuery 1.11.3, MochiKit 1.4.1, MooTools 1.2.1, etc perpustakaan, dianggo gedhe karo HtmlUnit.
- Kemampuan kanggo masang kode menyang kaca saiki nggunakake HtmlPage.executeJavascript(String yourJsCode).
- Iki minangka pilihan sing apik kanggo nglakokake tes sing prasaja, nanging nggawe tes sing rumit mbutuhake kode sing luwih akeh.
- Kerangka kaya Selenium luwih spesifik, ngidini prilaku browser-sentris sing ora mbatesi aplikasi sing diuji. Kanthi kerangka HttpUnit sampeyan bakal entuk dhukungan winates kajaba sawetara browser utama.
10. JWebUnit
JWebUnit minangka kerangka uji coba adhedhasar Java sing minangka tambahan saka JUnit. Iki digunakake kanggo integrasi, regresi lan uji fungsional. JWebUnit nggabungake kerangka aktif saiki kayata HTMLUnit lan Selenium kanthi antarmuka pangujian sing prasaja. Kanthi cara iki sampeyan bisa langsung mriksa akurasi aplikasi web sampeyan. JWebUnit bisa digunakake kanggo nindakake tes navigasi layar. Platform kasebut uga nawakake antarmuka pemrograman aplikasi Java sing luwih maju kanggo navigasi aplikasi web kanggo verifikasi akurasi aplikasi kasebut. Iki njupuk menyang akun pandhu arah link, entri formulir lan pengajuan, sabdhoning isi tabel, lan fitur umum liyane saka aplikasi bisnis. Fitur JWebUnit:- API Java tingkat paling dhuwur kanggo navigasi aplikasi web.
- Open source kerangka adhedhasar Java.
- Sampeyan kudu nginstal Maven.
- Versi stabil JWebUnit saiki yaiku 3.3. Java 1.7 dibutuhake.
- Tambah plugin sing sampeyan butuhake: HtmlUnit kanggo tes sing luwih cepet lan dhukungan sing apik kanggo Javascript lan Webdriver: kualitas BETA.
- Kanggo ngatur dependensi ing Eclipse nalika nggunakake Maven 2, gunakake plugin m2e.
- Digunakake kanggo nyoba navigasi ing layar.
- Nyedhiyakake API tingkat paling dhuwur kanggo navigasi aplikasi web.
- Navigasi prasaja kanthi pratelan sing gampang diakses ngidini sampeyan nggawe tes luwih cepet tinimbang nggunakake JUnit utawa HtmlUnit.
- Yen ana wong sing pengin ngalih saka HtmlUnit menyang jinis plugin liyane kayata Selenium, ora perlu nulis ulang tes kasebut.
GO TO FULL VERSION