Tutorial Ujian Unit Node.js bersama Jasmine

Isi kandungan:

Anonim

Ujian adalah elemen utama bagi sebarang aplikasi. Untuk Node.js, kerangka yang tersedia untuk Pengujian disebut Jasmine. Pada awal tahun 2000, ada kerangka untuk menguji aplikasi JavaScript yang disebut JsUnit. Kemudian kerangka ini ditingkatkan dan sekarang dikenali sebagai Jasmine.

Jasmine membantu dalam Ujian Unit automatik, sesuatu yang telah menjadi amalan utama ketika mengembangkan dan menggunakan aplikasi web moden.

Dalam tutorial ini, anda akan belajar bagaimana mengatur persekitaran anda dengan melati dan bagaimana anda boleh mula menguji aplikasi Node.js pertama anda dengan melati.

Dalam tutorial ini, anda akan belajar-

  • Gambaran keseluruhan Jasmine untuk menguji aplikasi Node.js

  • Cara menggunakan Jasmine untuk menguji aplikasi Node.js

Gambaran keseluruhan Jasmine untuk menguji aplikasi Node.js

Jasmine adalah rangka kerja ujian Behavior Driven Development (BDD) untuk JavaScript. Itu tidak bergantung pada penyemak imbas, DOM, atau kerangka kerja JavaScript apa pun. Oleh itu, ia sesuai untuk laman web, projek Node.js, atau di mana sahaja JavaScript boleh dijalankan. Untuk mula menggunakan Jasmine, anda perlu memuat turun dan memasang modul Jasmine terlebih dahulu.

Seterusnya, anda perlu menginisialisasi persekitaran anda dan memeriksa fail konfigurasi melati. Langkah-langkah di bawah menunjukkan cara mengatur Jasmine di persekitaran anda

Langkah 1) Memasang Modul NPM

Anda perlu memasang modul melati untuk menggunakan rangka melati dari dalam aplikasi Node. Untuk memasang modul melati-node, jalankan arahan di bawah.

npm pasang simpul melati

Langkah 2) Memulakan projek - Dengan melakukan ini, melati membuat direktori spesifikasi dan konfigurasi json untuk anda. Direktori spesifikasi digunakan untuk menyimpan semua fail ujian anda. Dengan melakukan ini, melati akan mengetahui di mana semua ujian anda berada, dan kemudian dapat melaksanakannya dengan sewajarnya. Fail JSON digunakan untuk menyimpan maklumat konfigurasi khusus mengenai melati.

Untuk memulakan persekitaran melati, jalankan arahan di bawah ini

melati init

Langkah 3) Periksa fail konfigurasi anda. Fail konfigurasi akan disimpan dalam folder spesifikasi / sokongan sebagai jasmine.json. Fail ini menghitung fail sumber dan fail spesifikasi yang anda ingin sertakan oleh pelari Jasmine.

Tangkapan skrin di bawah menunjukkan contoh khas fail package.json untuk melati.

  1. Perhatikan bahawa direktori spesifikasi ditentukan di sini. Seperti yang dinyatakan sebelumnya, ketika melati berjalan, ia mencari semua ujian di direktori ini.
  2. Perkara seterusnya yang perlu diperhatikan adalah parameter spec_files - Ini menunjukkan bahawa fail ujian apa pun yang dibuat harus ditambahkan dengan kata kunci 'spec'.

Cara menggunakan Jasmine untuk menguji aplikasi Node.js

Untuk menggunakan Jasmine untuk menguji aplikasi Node.js, beberapa langkah perlu diikuti.

Dalam contoh di bawah ini, kita akan menentukan modul yang menambah 2 nombor yang perlu diuji. Kami kemudian akan menentukan fail kod yang terpisah dengan kod ujian dan kemudian menggunakan melati untuk menguji fungsi Tambah dengan sewajarnya.

Langkah 1) Tentukan kod yang perlu diuji. Kami akan menentukan fungsi yang akan menambah 2 nombor dan mengembalikan hasilnya. Kod ini akan ditulis dalam fail yang disebut "Add.js."

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};

Penjelasan Kod:

  1. Kata kunci "eksport" digunakan untuk memastikan bahawa fungsi yang ditentukan dalam fail ini sebenarnya dapat diakses oleh fail lain.
  2. Kami kemudian menentukan fungsi yang disebut 'AddNumber.' Fungsi ini ditentukan untuk mengambil 2 parameter, a dan b. Fungsi tersebut ditambahkan ke modul "eksport" untuk menjadikan fungsi tersebut sebagai fungsi umum yang dapat diakses oleh modul aplikasi lain.
  3. Kami akhirnya membuat fungsi kami mengembalikan nilai tambah parameter.

Langkah 2) Seterusnya, kita perlu menentukan kod ujian melati kami, yang akan digunakan untuk menguji fungsi "Tambah" kami dalam file Add.js. Kod di bawah perlu dimasukkan ke dalam fail yang disebut add-spec.js.

Catatan : - Kata 'spec' perlu ditambahkan ke dalam fail ujian sehingga dapat dikesan oleh melati.

Penjelasan Kod:

var app=require("… /Add.js");describe("Addition",function(){it("The function should add 2 numbers",function() {var value=app.AddNumber(5,6);expect(value).toBe(11);});});
  1. Kita perlu memasukkan fail Add.js terlebih dahulu agar kita dapat menguji fungsi 'AddNumber' dalam fail ini.
  2. Kami kini membuat modul ujian kami. Bahagian pertama modul ujian adalah untuk menerangkan kaedah yang pada dasarnya memberikan nama untuk ujian kami. Dalam kes ini, nama ujian kami adalah "Tambahan".
  3. Bit seterusnya adalah memberi penerangan untuk ujian kami menggunakan kaedah 'it'.
  4. Kami sekarang menggunakan kaedah Addnumber kami dan mengirimkan 2 parameter 5 dan 6. Ini akan diteruskan ke kaedah Addnumber kami dalam fail App.js. Nilai kembali kemudian disimpan dalam pemboleh ubah yang disebut nilai.
  5. Langkah terakhir adalah melakukan perbandingan atau ujian sebenar kita. Oleh kerana kita menjangkakan nilai yang dikembalikan oleh fungsi Addnumber menjadi 11, kita mendefinisikan ini menggunakan kaedah mengharapkan (nilai) .toBe (nilai yang diharapkan).

Pengeluaran

  1. Untuk menjalankan ujian, seseorang perlu menjalankan perintah melati.
  2. Tangkapan skrin di bawah menunjukkan bahawa setelah perintah melati dijalankan, ia akan mengesan bahawa ada ujian yang disebut add-spec.js dan melaksanakan ujian tersebut dengan sewajarnya. Sekiranya terdapat kesalahan dalam ujian, ia akan ditunjukkan dengan sewajarnya.

Ringkasan

  • Untuk menguji aplikasi Node.js, rangka melati perlu dipasang terlebih dahulu. Ini dilakukan dengan menggunakan pengurus pakej Node.
  • Kod ujian perlu ditulis dalam fail yang berasingan, dan perkataan 'spec' harus ditambahkan pada nama fail. Hanya jika ini dilakukan, melati dapat mengesan bahawa fail perlu dijalankan.
  • Untuk menjalankan ujian, anda perlu melaksanakan perintah melati. Ini akan menemui semua fail yang mempunyai kata 'spec' yang melekat padanya dan menjalankan fail dengan sewajarnya.