Membangun tes dasar menggunakan Mocha dan Chai
Untuk membuat pengujian dasar menggunakan Mocha and Chai, Anda dapat mengikuti langkah-langkah berikut:
1. Instal Mocha dan Chai: Gunakan npm(Node Package Manager) untuk menginstal Mocha dan Chai di proyek Node.js Anda. Jalankan perintah berikut di direktori proyek Anda:
npm install mocha chai --save-dev
2. Buat file pengujian: Buat file baru, misalnya test.js
, dan impor deklarasi berikut untuk digunakan Mocha dan Chai:
const chai = require('chai');
const expect = chai.expect;
describe('Example Test Suite',() => {
it('should pass the test',() => {
expect(2 + 2).to.equal(4);
});
});
3. Jalankan tes: Buka terminal dan jalankan mocha
perintah untuk menjalankan tes. Jika semuanya berjalan lancar, Anda akan melihat hasilnya ditampilkan di terminal.
Tes dasar ini menggunakan Mocha dan Chai untuk memeriksa perhitungan sederhana. Dalam contoh di atas, kami memeriksa bahwa hasil operasi 2 + 2
harus sama dengan 4
. Jika hasilnya benar, tes akan lulus.
Dengan menambahkan describe
dan it
memblokir, Anda dapat membuat pengujian yang lebih kompleks dan memeriksa berbagai bagian kode sumber Anda.
Perhatikan bahwa Anda juga dapat menggunakan metode pernyataan lain yang disediakan oleh Chai, seperti assert
atau should
, untuk pengujian. Penggunaan khusus tergantung pada pilihan Anda dan bagaimana Anda ingin mengatur kode pengujian Anda.
Menggunakan pernyataan dan kueri untuk memverifikasi hasil fungsi
Saat menggunakan Mocha dan Chai untuk pengujian, Anda dapat menggunakan pernyataan dan kueri untuk memeriksa hasil fungsi. Berikut beberapa contoh penggunaan pernyataan dan kueri untuk memeriksa hasil fungsi:
1. Gunakan expect
pernyataan dan to.equal
kueri untuk memeriksa hasil fungsi yang mengembalikan nilai tertentu:
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Gunakan pernyataan `expect` dan kueri to.be.true
or to.be.false
untuk memeriksa hasil fungsi yang mengembalikan nilai boolean:
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
3. Gunakan pernyataan `expect` dan to.be.null
kueri or to.be.undefined untuk memeriksa hasil fungsi yang mengembalikan nilai null atau undefined:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. Gunakan expect
pernyataan dan to.include
kueri untuk memeriksa apakah suatu nilai disertakan dalam larik atau string:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Gunakan expect
pernyataan dan to.have.lengthOf
kueri untuk memeriksa panjang larik atau string:
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Contoh-contoh ini hanyalah beberapa dari banyak cara untuk menggunakan pernyataan dan kueri Mocha dan Chai untuk memeriksa hasil fungsi. Anda dapat menyesuaikan dan menggunakan pernyataan dan kueri yang sesuai berdasarkan kebutuhan pengujian proyek Anda.
Membuat kasus uji yang berhasil dan gagal
Saat menulis kasus uji dengan Mocha dan Chai, penting untuk mencakup skenario sukses dan gagal. Berikut adalah contoh pembuatan kasus uji untuk skenario sukses dan gagal:
1. Test Case yang Berhasil:
describe('myFunction',() => {
it('should return the expected result',() => {
// Arrange
const input = // provide the input for the function
const expected = // define the expected result
// Act
const result = myFunction(input);
// Assert
expect(result).to.equal(expected);
});
});
2. Kasus Uji Kegagalan:
describe('myFunction',() => {
it('should throw an error when invalid input is provided',() => {
// Arrange
const invalidInput = // provide invalid input for the function
// Act and Assert
expect(() => myFunction(invalidInput)).to.throw(Error);
});
});
Dalam kasus uji yang berhasil, Anda menentukan input untuk fungsi dan hasil yang diharapkan. Kemudian, Anda memanggil fungsi dengan input dan menyatakan bahwa hasilnya cocok dengan nilai yang diharapkan.
Dalam kasus uji kegagalan, Anda memberikan input yang tidak valid ke fungsi dan menyatakan bahwa fungsi tersebut menimbulkan kesalahan. Ini memastikan bahwa fungsi menangani kondisi input atau kesalahan yang tidak valid dengan benar.
Dengan mencakup skenario sukses dan gagal dalam kasus pengujian, Anda dapat memastikan bahwa kode Anda diuji secara menyeluruh dan menangani berbagai situasi dengan tepat.