JasmineJS - Arsitektur BDD

Jasmine mengikuti kerangka Behavioral Driven Development (BDD). Sebelum mempelajari prinsip kerja Jasmine, beri tahu kami apa itu framework BDD.

Diagram alir berikut menggambarkan berbagai fase kerangka kerja BDD.

Step 1 − Start

Pada fase ini, kami akan menyiapkan lingkungan kami untuk aplikasi Jasmine.

Step 2 − Write a failing test

Pada langkah ini, kami akan menulis kasus uji pertama kami. Jelas bahwa pengujian ini akan gagal karena tidak ada file atau fungsi seperti itu yang akan diuji.

Step 3 − Write a code to make it pass

Pada tahap ini, kami akan menyiapkan file atau fungsi JavaScript kami yang perlu diuji. Fase ini sangat penting karena kami perlu memastikan bahwa semua kasus pengujian yang telah kami persiapkan di tahap awal akan berhasil.

Step 4 − Refactor

Refactor adalah fase yang sangat penting dari model BDD di mana kita perlu menyiapkan sebanyak mungkin kasus uji untuk aplikasi atau fungsi tertentu.

Step 5 − Stop

Jika semuanya berjalan dengan baik maka aplikasi Anda harus siap dan up. Jadi kita bisa menganggap langkah ini sebagai akhir dari aplikasi BDD kita.

Contoh

Kami sekarang telah mengumpulkan beberapa pengetahuan tentang prinsip kerja kerangka BDD. Mari kita lihat bagaimana Jasmine mengikuti kerangka kerja BDD ini di garis pengujian JavaScript.

Seperti yang digambarkan oleh screenshot kita perlu menguji Abc.js menggunakan framework Jasmine. SpecRunner.html adalah file keluaran yang akan diambil Spec.js(Test case file ), Abc.js(file to be tested), LIB sebagai masukan dan menjalankan semua kasus uji yang ada di file spesifikasi dan memberikan hasilnya ke browser.

Lib - Ini adalah file JavaScript bawaan yang akan berguna untuk menguji berbagai fungsi dan file JavaScript lain yang digunakan dalam proyek kami.

Spec.js(Test case file)- Ini adalah file JavaScript yang berisi semua kasus uji yang diperlukan untuk menguji fungsi atau file JavaScript apa pun. Dalam metodologi BDD, kita akan menulis tesnya terlebih dahulu, maka ini adalah file yang perlu diperbarui terlebih dahulu. Pasti ini akan gagal karena tidak ada file atau fungsi yang ada dalam proyek kami yang dapat diuji. File ini dapat difaktorkan ulang berkali-kali hingga semua fungsi diuji.

Abc.js(File to be tested) - Ini adalah file yang berisi fungsionalitas Anda yang akan diuji unitnya menggunakan file Spec.js dan Lib.

SpecRunner.html - SpecRunner.html adalah file html normal yang akan membuat output dari pengujian unit dengan bantuan kode JavaScript yang disematkan di dalamnya.