Cucumber.js ialah alat popular untuk menjalankan ujian automatik yang ditulis dalam bahasa biasa, membenarkan pembangun dan bukan pembangun bekerjasama dalam ujian. Ia amat berguna dalam Pembangunan Didorong Tingkah Laku (BDD), di mana komunikasi yang jelas antara pihak berkepentingan adalah kunci. Dengan menggunakan bahasa yang boleh dibaca manusia, Cucumber js membolehkan pemilik produk, penguji dan pembangun memastikan perisian berfungsi seperti yang diharapkan sambil meningkatkan kualiti keseluruhan aplikasi.
Memahami Pembangunan Didorong Tingkah Laku (BDD)
Cucumber.js dibina berdasarkan prinsip Pembangunan Didorong Tingkah Laku (BDD), pendekatan pembangunan perisian yang menggalakkan komunikasi antara pihak berkepentingan teknikal dan bukan teknikal. Dalam BDD, ujian ditulis dalam bahasa yang dikongsi supaya semua ahli pasukan boleh menyumbang kepada pemahaman keperluan. Dengan memfokuskan pada gelagat dan bukannya butiran teknikal, BDD memastikan bahawa semua orang—dari penganalisis perniagaan hingga pembangun—mempunyai pemahaman yang sama tentang cara perisian harus berfungsi.
BDD biasanya mengikut format "Diberi, Bila, Kemudian" untuk menerangkan senario:
• Diberi: Mentakrifkan konteks awal (cth., “Memandangkan pengguna telah log masuk”).
• Bila: Menerangkan tindakan atau peristiwa (cth., “Apabila pengguna mengklik butang serah”).
• Kemudian: Menentukan hasil yang dijangkakan (cth., “Kemudian borang diserahkan”).
Cucumber.js menggunakan format ini untuk mendayakan ujian bahasa semula jadi.
Memasang dan Menyediakan Cucumber.js
Untuk bermula dengan Cucumber.js, anda perlu memasang pakej npm yang diperlukan dan mengkonfigurasi projek anda. Cucumber.js tersedia sebagai pakej Node.js dan anda boleh memasangnya dengan mudah melalui npm. Begini cara anda boleh menyediakannya dalam projek Node.js:
Senario: Log masuk berjaya dengan kelayakan yang sah
Memandangkan pengguna berada di halaman log masuk
Apabila pengguna memasukkan bukti kelayakan yang sah
Kemudian pengguna dialihkan ke papan pemuka
Setiap senario mewakili kes penggunaan khusus yang mesti disokong oleh perisian. Matlamatnya adalah untuk menulis ujian ini dengan cara yang boleh difahami dengan mudah oleh ahli pasukan teknikal dan bukan teknikal.
Definisi Langkah dalam Cucumber.js
Takrifan langkah ialah tempat langkah bahasa semula jadi daripada fail ciri dipetakan kepada kod JavaScript boleh laku. Setiap langkah (cth., "Memandangkan pengguna berada di halaman log masuk") sepadan dengan kaedah dalam fail definisi langkah anda.
Berikut ialah contoh cara anda mentakrifkan langkah untuk ciri log masuk:
const { Diberi, Bila, Kemudian } = memerlukan('@timun/timun');
Diberi('pengguna berada di halaman log masuk', fungsi () {
// Kod untuk menavigasi ke halaman log masuk
});
Apabila('pengguna memasukkan bukti kelayakan yang sah', fungsi () {
// Kod untuk memasukkan nama pengguna dan kata laluan yang sah
});
Kemudian('pengguna dialihkan ke papan pemuka', fungsi () {
// Kod untuk mengesahkan ubah hala ke papan pemuka
});
Fungsi Diberi, Bila dan Kemudian datang daripada pakej Cucumber.js, dan setiap satu memetakan langkah dalam senario kepada fungsi JavaScript yang melaksanakan logik yang diperlukan.
Menjalankan Ujian Cucumber.js
Setelah fail ciri dan definisi langkah anda sedia, anda boleh menjalankan Cucumber.js untuk melaksanakan ujian dan melihat hasilnya. Di terminal anda, jalankan sahaja arahan berikut:
npx timun-js
Cucumber.js akan menghuraikan fail ciri anda, memadankan langkah dengan definisi langkah yang sepadan dan melaksanakan ujian. Output akan menunjukkan senario yang lulus atau gagal, memberikan anda keterlihatan yang jelas ke dalam gelagat aplikasi anda.
Mengintegrasikan Cucumber.js dengan Alat Pengujian Lain
Cucumber.js boleh disepadukan dengan rangka kerja ujian popular seperti Mocha atau Chai untuk meningkatkan fungsi dan struktur suite ujian anda. Dengan menggabungkan Cucumber.js dengan rangka kerja ini, anda boleh menggunakan perpustakaan penegasan yang berkuasa dan ciri ujian untuk meningkatkan kedalaman ujian anda.
Contohnya, anda boleh menggunakan Chai untuk penegasan dalam definisi langkah anda:
const { expect } = require('chai');
Kemudian('pengguna dialihkan ke papan pemuka', fungsi () {
expect(currentPage).to.equal('dashboard');
});
Penyepaduan alatan lain membolehkan anda memanjangkan Cucumber.js melangkaui senario BDD asas, menjadikannya bahagian yang fleksibel dalam keseluruhan strategi ujian anda.
Amalan Terbaik untuk Menulis Ujian BDD Boleh Diselenggara
Untuk memastikan ujian Cucumber.js anda kekal boleh diselenggara dan berskala, adalah penting untuk mengikuti amalan terbaik tertentu semasa menulis ujian anda:
Atas ialah kandungan terperinci Cucumber.js: Panduan Lengkap untuk Ujian Didorong Tingkah Laku. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!