10 alat uji JavaScript tepercaya

Kebutuhan untuk menguji kode JavaScript sangatlah mudah. Bagaimana lagi untuk mencegah bug dan memastikan aplikasi berjalan dengan lancar di browser atau di Node.js? Untungnya, pengembang memiliki banyak sekali opsi dalam hal pengujian JavaScript.

Runner pengujian dan kerangka kerja untuk pengujian unit, pengujian integrasi, dan pengujian fungsional sudah tersedia untuk ekosistem JavaScript, dengan cakupan untuk Node.js dan browser serta untuk kerangka kerja Angular dan React. Berikut adalah 10 dari banyak opsi penting yang dimiliki pengembang JavaScript untuk membantu mereka menguji aplikasi mereka.

AVA

AVA adalah runner pengujian untuk Node.js yang menawarkan API ringkas, keluaran kesalahan mendetail, dan dukungan untuk fitur bahasa baru dan isolasi proses. AVA paling cocok untuk menguji modul Node.js dan aplikasi server, tetapi mungkin tidak untuk menguji aplikasi UI. Di antara kemampuannya, AVA menawarkan fitur untuk menandai tes sebagai tugas "yang harus dilakukan". Setiap file pengujian yang dijalankan adalah proses terpisah. Manfaat lain yang dikutip termasuk minimalisme dan kecepatan AVA, sintaks pengujian sederhana, dan kemampuan untuk menjalankan pengujian secara bersamaan. AVA juga memiliki dukungan untuk fungsi asinkron dan observable — observable menjadi jenis yang dapat digunakan untuk membuat model sumber data berbasis push seperti peristiwa DOM.

Instal AVA

Petunjuk untuk menginstal AVA dapat ditemukan di halaman GitHub proyek.

Cucumber.js

Implementasi JavaScript dari alat uji Ketimun, Cucumber.js, berjalan pada versi Node.js yang dipertahankan dan di browser web modern. Proyek Cucumber mengutip manfaat termasuk komunikasi tim dan kemampuan untuk menjalankan tes otomatis yang ditulis dalam bahasa "biasa", yang berarti siapa pun di tim dapat membacanya. Dengan demikian, komunikasi, kolaborasi, dan kepercayaan dapat ditingkatkan. Cucumber.js menyertakan file yang dapat dijalankan untuk menjalankan rangkaian pengujian Anda (disebut fitur), sehingga tidak berfungsi saat diinstal secara global. (Mentimun harus diperlukan dalam file dukungan dan modul yang dipasang secara global tidak dapat diperlukan.)

Instal Cucumber.js

Petunjuk untuk memasang Cucumber.js tersedia di GitHub.

Enzim

Enzim adalah utilitas pengujian untuk perpustakaan React JavaScript UI. Ini dimaksudkan agar lebih mudah untuk menguji keluaran dari komponen React. Pengembang dapat memanipulasi, melintasi, dan mensimulasikan waktu proses berdasarkan keluarannya. Enzim API meniru jQuery API untuk manipulasi DOM dan traversal. Enzim tidak setuju dengan runner pengujian atau pustaka pernyataan. Jika pengembang ingin menggunakan Enzim dengan pernyataan khusus dan fungsi kemudahan untuk menguji komponen React, mereka dapat mempertimbangkan chai-enzymedengan Mocha / Chai, jasmine-enzymedengan Jasmine, atau jest-enzymedengan Jest. Enzim juga dapat digunakan untuk menguji komponen React Native.

Pasang Enzim

Petunjuk untuk menginstal Enzim dapat ditemukan di GitHub. 

Karma

Karma adalah pelari uji untuk JavaScript yang memungkinkan eksekusi kode di beberapa browser. Semua browser utama, termasuk browser seluler, didukung. Pengembang di belakang proyek mengatakan Karma menawarkan lingkungan di mana pengembang tidak perlu menyiapkan banyak konfigurasi, tetapi dapat menulis kode dan mendapatkan umpan balik instan dari pengujian. Karma dirancang untuk pengujian tingkat rendah (unit). Bukan kerangka kerja pengujian atau pustaka pernyataan, Karma meluncurkan server HTTP dan menghasilkan file runner pengujian dari kerangka kerja pengujian favorit pengembang. Plug-in ditawarkan untuk framework seperti Jasmine, Mocha, dan QUnit.

Instal Karma

Petunjuk untuk menginstal Karma tersedia di GitHub.

Melati

Jasmine ditagih sebagai kerangka kerja "berbasis perilaku" untuk menguji JavaScript. Itu tidak memiliki ketergantungan pada kerangka JavaScript lain dan tidak membutuhkan DOM. Para pendukungnya mengutip sintaksnya yang memungkinkan penulisan tes dengan mudah. Dikelola oleh Pivotal Labs, Jasmine cocok untuk menguji situs web, proyek Node.js, dan apa pun yang dapat menjalankan JavaScript. Jasmine dimaksudkan untuk memberikan kemudahan pengujian ke berbagai kasus penggunaan dan browser yang berbeda dan merupakan kerangka kerja JavaScript agnostik, memungkinkan pengembang dapat menguji kode dari React atau Angular atau pustaka JavaScript lainnya. Jasmine berjuang untuk ketergantungan minimal sambil tetap kecil dan mudah dirawat.

Pasang Jasmine

Petunjuk untuk menginstal Jasmine dan memulai dengan Jasmine dapat ditemukan di GitHub.

Bersenda gurau

Jest ditagih sebagai solusi pengujian JavaScript komprehensif yang bekerja di luar kotak, bebas konfigurasi, untuk sebagian besar proyek JavaScript. Pengujian memiliki status global yang unik dan dapat dijalankan secara paralel. Pengujian yang sebelumnya gagal dijalankan terlebih dahulu, dengan proses yang diatur ulang berdasarkan panjang file pengujian. Hanya berfungsi dengan teknologi JavaScript populer termasuk Angular, Babel, Node.js, React, dan Vue. Pengujian dapat dijalankan untuk melacak objek besar, dengan snapshot yang hidup berdampingan dengan pengujian atau disematkan sebaris. Dalam file uji, Jest menempatkan metode dan objek ke dalam lingkungan global, tanpa perlu mengimpornya.

Instal Jest

Petunjuk untuk menginstal Jest dapat ditemukan di GitHub. 

Luna

Luna adalah kerangka pengujian unit beropini untuk JavaScript yang tidak memerlukan konfigurasi. Pengembang dapat menjalankan pengujian unit pertama mereka dalam beberapa menit, demikian pernyataan dokumentasi produk. Laporan cakupan kode dibuat tanpa memasang modul lain. Pengujian harus ditulis sebagai modul ES6, dengan pengujian dijalankan di browser secara default. Konkurensi didukung, dengan grup pengujian yang dijalankan secara paralel. Luna sebagian terinspirasi oleh pengujian bawaan yang tersedia untuk bahasa Go Google. Luna tidak mengakomodasi transpiling, jadi tidak akan berfungsi dengan CoffeeScript atau TypeScript. Itu juga tidak memiliki dukungan untuk browser lama. 

Pasang Luna

Petunjuk untuk menginstal Luna tersedia di GitHub. 

Moka

Kerangka kerja pengujian kaya fitur yang berjalan di Node.js dan di browser, Mocha berjanji untuk membuat pengujian kode asinkron "sederhana dan menyenangkan". Pengujian dijalankan secara serial, yang menurut para pendukung memungkinkan pelaporan yang akurat dan fleksibel sambil memetakan pengecualian yang tidak tertangkap ke kasus pengujian yang akurat. Untuk pengujian berkelanjutan, pengembang dapat menggunakan alat Wallaby.js untuk mengaktifkan cakupan kode waktu nyata untuk Mocha dengan pustaka pernyataan apa pun. Mocha juga terintegrasi dengan framework aplikasi, seperti melalui Konacha, yang memungkinkan pengembang menggunakan Mocha untuk menguji JavaScript di aplikasi Ruby on Rails. Sejumlah plugin editor juga tersedia, seperti ekstensi sidebar Mocha untuk Visual Studio Code. 

Pasang Mocha

Petunjuk untuk menginstal Mocha dan dokumentasi untuk banyak fitur Mocha tersedia di situs web proyek. 

Busur derajat

Busur derajat adalah kerangka pengujian ujung ke ujung untuk Angular dan pendahulunya, AngularJS. Pengujian dijalankan terhadap aplikasi di browser, dengan Proctractor berinteraksi dengan aplikasi seperti yang dilakukan pengguna. Strategi pencari lokasi khusus Angular didukung, untuk menguji elemen Angular tanpa penyiapan apa pun. Kemampuan menunggu otomatis memungkinkan Busur derajat untuk menjalankan langkah berikutnya dalam pengujian saat halaman web menyelesaikan pengujian yang tertunda. Busur derajat dibangun di atas WebdriverJS, implementasi JavaScript dari alat otomatisasi browser Selenium yang digunakan untuk pengujian.

Pasang Busur Derajat

Petunjuk untuk memasang busur derajat dapat ditemukan di situs busur derajat. 

Hentikan

QUnit adalah kerangka kerja pengujian unit JavaScript yang digunakan oleh proyek JQuery, jQuery UI, dan jQuery Mobile. Sebenarnya QUnit awalnya dikembangkan sebagai bagian dari jQuery oleh penemu jQuery John Resig. QUnit ditagih sebagai cepat dan mudah digunakan, dengan API yang beropini tetapi ramping dan dapat diperluas, dan dapat digunakan untuk menguji kode JavaScript umum apa pun. Ketika tes atau pernyataan gagal, QUnit berjanji untuk memberikan umpan balik secepat mungkin, dengan detail yang cukup untuk mencari tahu masalahnya. Metode pernyataan di QUnit mengikuti spesifikasi pengujian unit CommonJS. QUnit mendukung browser yang didukung oleh jQuery 3.x, termasuk varian Chrome, Edge, Firefox, Internet Explorer, dan Safari.

Instal QUnit

Anda dapat mengunduh dan menginstal QUnit dari situs web QUnit atau dari jQuery.cdn.