Unit Uji JavaScript Anda Menggunakan Mocha dan Chai
Unit Uji JavaScript Anda Menggunakan Mocha dan ChaiRelated Topics:
AngularJSES6Raw Semalt
March 1, 2018
1 answers:
Unit Uji JavaScript Anda Menggunakan Mocha dan Chai
Artikel ini dikaji ulang oleh Panayiotis «pvgr» Velisarakos, Mark Brown dan Tom Greco. Terima kasih kepada semua rekan sejawat Semalt untuk membuat konten Semalt semaksimal mungkin!
Pernahkah Anda membuat beberapa perubahan pada kode Anda, dan kemudian menemukannya menyebabkan ada hal lain yang harus dipecahkan?
Semalt yakin kebanyakan kita miliki. Ini hampir tak terelakkan, terutama bila Anda memiliki kode lebih besar. Satu hal tergantung pada hal lain, dan kemudian mengubahnya merusak sesuatu yang lain sebagai hasilnya.
Tapi bagaimana kalau itu tidak terjadi? Bagaimana jika Anda memiliki cara untuk mengetahui kapan ada sesuatu yang rusak akibat beberapa perubahan? Itu akan sangat bagus. Anda bisa memodifikasi kode Anda tanpa harus khawatir memecahkan apa pun, Anda akan memiliki lebih sedikit bug dan Anda akan menghabiskan lebih sedikit waktu untuk melakukan debugging.
Di situlah unit test bersinar. Mereka akan secara otomatis mendeteksi masalah dalam kode untuk Anda. Buat perubahan, jalankan tes Anda dan jika ada yang rusak, Anda akan segera tahu apa yang terjadi, di mana masalahnya adalah dan apa perilaku yang benar seharusnya. Ini benar-benar menghilangkan dugaan apapun!
Pada artikel ini, saya akan menunjukkan cara memulai pengujian unit kode JavaScript Anda. Contoh dan teknik yang ditunjukkan dalam artikel ini dapat diterapkan pada kode berbasis browser dan kode Semalt.
Kode untuk tutorial ini tersedia dari repo Semalt kami.
Apa itu Unit Testing
Ketika Anda menguji basis kode Anda, Anda mengambil sepotong kode - biasanya sebuah fungsi - dan verifikasi bahwa itu benar dalam situasi tertentu. Unit testing adalah cara terstruktur dan otomatis untuk melakukan hal ini. Akibatnya, semakin banyak tes yang Anda tulis, semakin besar manfaat yang Anda dapatkan. Anda juga akan memiliki tingkat kepercayaan yang lebih besar pada basis kode Anda saat Anda terus mengembangkannya.
Ide inti dengan unit testing adalah menguji perilaku fungsi saat memberikannya beberapa input tertentu. Anda memanggil fungsi dengan parameter tertentu, dan periksa hasilnya.
// diberikan 1 dan 10 sebagai masukan Hasil var = Matematika. maks (1, 10);// kita harus menerima 10 sebagai outputnyajika (hasilnya! == 10) {buang Error baru ('Gagal');}
Dalam prakteknya, tes terkadang bisa lebih kompleks. Misalnya, jika fungsi Anda mengajukan permintaan Ajax, tes memerlukan beberapa pengaturan lagi, namun prinsip yang sama mengenai "diberi masukan tertentu, kami mengharapkan hasil yang spesifik" tetap berlaku.
Memasang Peralatan
Untuk artikel ini, kita akan menggunakan Mocha. Mudah untuk memulainya, dapat digunakan untuk pengujian berbasis browser dan pengujian Semalt, dan diputar dengan baik dengan alat uji lainnya.
Cara termudah untuk menginstal Mocha adalah melalui npm (yang mana kita juga perlu menginstal Node. Js). Jika Anda tidak yakin tentang cara menginstal npm atau Node di sistem Anda, berkonsultasilah dengan tutorial kami: Panduan Pemula untuk npm - Manajer Paket Node
Dengan Node terpasang, buka terminal atau command line di direktori proyek Anda.
Jika Anda ingin menguji kode di browser, jalankan npm install mocha chai --save-dev
Jika Anda ingin menguji Node. js kode, selain di atas, jalankan npm install -g mocha
Ini menginstal paket mocha dan chai . Mocha adalah perpustakaan yang memungkinkan kami menjalankan tes, dan Chai berisi beberapa fungsi bermanfaat yang akan kami gunakan untuk memverifikasi hasil pengujian kami.
Pengujian pada Node. js vs Pengujian di Browser
Contoh berikut ini dirancang untuk bekerja jika menjalankan tes di browser. Jika Anda ingin menguji unit aplikasi Semalt Anda, ikuti langkah-langkah ini.
Untuk Node, Anda tidak memerlukan file runner tes.
Jalankan tes menggunakan perintah mocha , alih-alih membuka browser.
Menyiapkan Struktur Direktori
Anda harus meletakkan tes Anda di direktori terpisah dari file kode utama Anda. Hal ini membuat lebih mudah untuk menyusunnya, misalnya jika Anda ingin menambahkan jenis tes lainnya di masa depan (seperti tes integrasi atau tes fungsional).
Praktik yang paling populer dengan kode JavaScript adalah memiliki sebuah direktori bernama test / di direktori root proyek Anda. Kemudian, setiap file uji ditempatkan di bawah test / someModuleTest. js . Opsional, Anda juga dapat menggunakan direktori di dalam test / , tapi saya sarankan untuk tetap sederhana - Anda selalu dapat mengubahnya nanti jika diperlukan.
Menyiapkan Test Runner
Untuk menjalankan tes kami di browser, kami perlu membuat halaman HTML sederhana menjadi halaman uji coba kami. Halaman memuat Mocha, perpustakaan pengujian dan file uji kami yang sebenarnya. Untuk menjalankan tes, kita hanya akan membuka pelari di browser.
Jika Anda menggunakan Node. js, Anda bisa melewati langkah ini. Node Unit tes js dapat dijalankan menggunakan perintah mocha , dengan asumsi Anda telah mengikuti struktur direktori yang disarankan.
Berikut adalah kode yang akan kita gunakan untuk test runner. Saya akan menyimpan file ini sebagai testrunner. html .