Mencipta Ujian Mudah dengan Mocha dan Chai

Membina ujian asas menggunakan Mocha dan Chai

Untuk membina ujian asas menggunakan Mocha dan Chai, anda boleh mengikuti langkah berikut:

1. Pasang Mocha dan Chai: Gunakan npm(Pengurus Pakej Node) untuk memasang Mocha dan Chai dalam projek Node.js anda. Jalankan arahan berikut dalam direktori projek anda:

npm install mocha chai --save-dev

2. Cipta fail ujian: Cipta fail baharu, contohnya test.js, dan import pengisytiharan 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 ujian: Buka terminal dan jalankan mocha  arahan untuk melaksanakan ujian. Jika semuanya berjalan lancar, anda akan melihat hasil yang dipaparkan di terminal.

Ujian asas ini menggunakan Mocha dan Chai untuk menyemak pengiraan mudah. Dalam contoh di atas, kami menyemak bahawa hasil operasi 2 + 2 harus sama dengan 4. Jika keputusannya betul, ujian akan lulus.

Dengan menambah describe  dan it  menyekat, anda boleh membina ujian yang lebih kompleks dan menyemak bahagian berlainan kod sumber anda.

Ambil perhatian bahawa anda juga boleh menggunakan kaedah penegasan lain yang disediakan oleh Chai, seperti assert atau should, untuk ujian. Penggunaan khusus bergantung pada pilihan anda dan cara anda ingin mengatur kod ujian anda.

 

Menggunakan penegasan dan pertanyaan untuk mengesahkan hasil fungsi

Apabila menggunakan Mocha dan Chai untuk ujian, anda boleh menggunakan penegasan dan pertanyaan untuk menyemak keputusan fungsi. Berikut ialah beberapa contoh penggunaan pernyataan dan pertanyaan untuk menyemak hasil fungsi:

1. Gunakan expect penegasan dan to.equal pertanyaan untuk menyemak hasil fungsi yang mengembalikan nilai tertentu:

const result = myFunction();  
expect(result).to.equal(expectedValue);

2. Gunakan penegasan `jangkakan` dan pertanyaan to.be.true atau to.be.false untuk menyemak hasil fungsi yang mengembalikan nilai boolean:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. Gunakan penegasan `expect` dan to.be.null pertanyaan or to.be.undefined untuk menyemak 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 penegasan dan to.include pertanyaan untuk menyemak sama ada nilai disertakan dalam tatasusunan atau rentetan:

const result = myFunction();  
expect(result).to.include(expectedValue);

5. Gunakan expect penegasan dan to.have.lengthOf pertanyaan untuk menyemak panjang tatasusunan atau rentetan:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

Contoh-contoh ini hanyalah beberapa daripada banyak cara untuk menggunakan pernyataan dan pertanyaan dalam Mocha dan Chai untuk menyemak hasil fungsi. Anda boleh menyesuaikan dan menggunakan pernyataan dan pertanyaan yang sesuai berdasarkan keperluan ujian projek anda.

 

Mencipta kes ujian yang berjaya dan gagal

Apabila menulis kes ujian dengan Mocha dan Chai, adalah penting untuk merangkumi kedua-dua senario berjaya dan kegagalan. Berikut ialah contoh mencipta kes ujian untuk kedua-dua senario yang berjaya dan kegagalan:

1. Kes Ujian Berjaya:

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. Kes Ujian 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 kes ujian yang berjaya, anda menentukan input untuk fungsi dan hasil yang dijangkakan. Kemudian, anda memanggil fungsi dengan input dan menegaskan bahawa hasilnya sepadan dengan nilai yang dijangkakan.

Dalam kes ujian kegagalan, anda memberikan input tidak sah kepada fungsi dan menegaskan bahawa ia menimbulkan ralat. Ini memastikan bahawa fungsi mengendalikan input tidak sah atau keadaan ralat dengan betul.

Dengan merangkumi kedua-dua senario berjaya dan kegagalan dalam kes ujian anda, anda boleh memastikan bahawa kod anda diuji dengan teliti dan mengendalikan situasi yang berbeza dengan sewajarnya.