Menguji Fungsi dan Kaedah dengan Chai

 Menguji fungsi untuk membuang pengecualian yang betul

Untuk menguji pengecualian, kita boleh menggunakan throwpenegasan yang diberikan oleh Chai. Penegasan ini membolehkan kami menentukan jenis pengecualian yang perlu dilemparkan dan sebarang butiran tambahan yang ingin kami sahkan. Dengan memasukkan pernyataan ini dalam kes ujian kami, kami boleh memastikan bahawa fungsi kami berkelakuan seperti yang diharapkan dan mengendalikan keadaan ralat dengan sewajarnya.

Mari kita pertimbangkan contoh di mana kita mempunyai fungsi yang membahagi dua nombor. Kami mahu memastikan bahawa fungsi membuang pengecualian apabila membahagi dengan sifar. Kita boleh menulis kes ujian menggunakan penegasan Chai throwuntuk memeriksa sama ada fungsi itu melemparkan dengan betul DivideByZeroErrorapabila membahagi dengan sifar.

const { expect } = require('chai');

function divide(a, b) {
  if (b === 0) {
    throw new Error('DivideByZeroError');
  }
  return a / b;
}

describe('divide', () => {
  it('should throw DivideByZeroError when dividing by zero', () => {
    expect(() => divide(10, 0)).to.throw('DivideByZeroError');
  });

  it('should return the correct result when dividing two numbers', () => {
    expect(divide(10, 5)).to.equal(2);
  });
});

Dalam contoh di atas, kami menggunakan to.throwpenegasan untuk mengesahkan bahawa dividefungsi membuang a DivideByZeroErrorapabila membahagi dengan sifar. Penegasan itu dibungkus dalam fungsi supaya ia dapat menangkap pengecualian dan melakukan pemeriksaan yang diperlukan.

Dengan memasukkan ujian untuk balingan pengecualian yang betul, kami boleh memastikan bahawa fungsi kami mengendalikan keadaan ralat dengan sewajarnya dan memberikan maklum balas yang bermakna apabila situasi yang tidak dijangka berlaku. Ini membantu meningkatkan kualiti keseluruhan dan kebolehpercayaan kod kami.

Kesimpulannya, fungsi pengujian yang membuang pengecualian adalah aspek penting dalam pengujian perisian. Dengan penegasan Chai throw, kami boleh mengesahkan dengan mudah bahawa fungsi kami membuang pengecualian yang dijangkakan apabila perlu. Dengan memasukkan ujian ini ke dalam strategi ujian kami, kami boleh meningkatkan keteguhan aplikasi kami dan memberikan pengalaman pengguna yang lebih baik.

Dalam artikel ketiga siri "Node.js, Mocha dan Chai", kami akan meneroka cara menguji fungsi dan kaedah menggunakan Chai. Chai ialah perpustakaan penegasan yang berkuasa untuk menguji nilai dan hasil dalam kod JavaScript.

 

Menguji kaedah objek dan tingkah laku mereka

Untuk mengesahkan kaedah sesuatu objek, kita boleh menggunakan penegasan yang disediakan oleh rangka kerja ujian seperti Mocha dan Chai. Penegasan ini membolehkan kita membuat penegasan tentang sifat dan tingkah laku objek.

Mari kita pertimbangkan contoh di mana kita mempunyai objek yang dipanggil calculatordengan kaedah untuk penambahan, penolakan, pendaraban dan pembahagian. Kami ingin memastikan bahawa kaedah ini mengembalikan hasil yang betul. Kita boleh menulis kes ujian menggunakan pernyataan Chai untuk mengesahkan kelakuan kaedah ini.

const { expect } = require('chai');

const calculator = {
  add: (a, b) => a + b,
  subtract: (a, b) => a - b,
  multiply: (a, b) => a * b,
  divide: (a, b) => a / b,
};

describe('calculator', () => {
  it('should return the correct sum when adding two numbers', () => {
    expect(calculator.add(5, 3)).to.equal(8);
  });

  it('should return the correct difference when subtracting two numbers', () => {
    expect(calculator.subtract(5, 3)).to.equal(2);
  });

  it('should return the correct product when multiplying two numbers', () => {
    expect(calculator.multiply(5, 3)).to.equal(15);
  });

  it('should return the correct quotient when dividing two numbers', () => {
    expect(calculator.divide(6, 3)).to.equal(2);
  });
});

Dalam contoh di atas, kami menggunakan penegasan Chai expectuntuk mengesahkan bahawa kaedah objek calculatormengembalikan hasil yang diharapkan. Setiap kes ujian memfokuskan pada kaedah tertentu dan menyemak sama ada ia mengembalikan output yang betul untuk input yang diberikan.

Dengan menjalankan kes ujian ini, kami boleh memastikan bahawa kaedah objek calculatorberkelakuan seperti yang diharapkan dan memberikan hasil yang tepat.

Selain menyemak nilai pulangan kaedah, kami juga boleh menggunakan penegasan untuk mengesahkan sifat dan tingkah laku objek lain. Chai menyediakan pelbagai penegasan yang membolehkan kami membuat pelbagai jenis penegasan pada objek, seperti menyemak nilai harta benda, mengesahkan seruan kaedah dan banyak lagi.

Dengan menguji kaedah sesuatu objek secara menyeluruh, kami boleh memastikan ketepatan dan kebolehpercayaannya, yang menyumbang kepada kualiti keseluruhan pangkalan kod kami.