Menguji Fungsi dan Kaedah dengan Chai

 Menguji fungsi untuk membuang pengecualian yang betul

Untuk menguji pengecualian, kita boleh menggunakan throw penegasan yang disediakan 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 's throw untuk memeriksa sama ada fungsi melemparkan dengan betul DivideByZeroError apabila 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.throw penegasan untuk mengesahkan bahawa divide fungsi membuang a DivideByZeroError apabila 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 Chai penegasan 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 JavaScript kod.

 

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 calculator dengan kaedah untuk penambahan, penolakan, pendaraban dan pembahagian. Kami ingin memastikan bahawa kaedah ini mengembalikan hasil yang betul. Kami boleh menulis kes ujian menggunakan Chai dakwaan untuk mengesahkan tingkah laku 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 Chai penegasan expect untuk mengesahkan bahawa kaedah objek calculator mengembalikan 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 calculator berkelakuan 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.