Menguji fungsi untuk melempar pengecualian yang benar
Untuk menguji pengecualian, kita dapat menggunakan throw
pernyataan yang disediakan oleh Chai. Penegasan ini memungkinkan kita menentukan jenis pengecualian yang harus dilemparkan dan detail tambahan apa pun yang ingin kita validasi. Dengan menyertakan pernyataan ini dalam kasus pengujian kami, kami dapat memastikan bahwa fungsi kami berperilaku seperti yang diharapkan dan menangani kondisi kesalahan dengan tepat.
Mari pertimbangkan contoh di mana kita memiliki fungsi yang membagi dua angka. Kami ingin memastikan bahwa fungsi melontarkan pengecualian saat membaginya dengan nol. Kita dapat menulis test case menggunakan pernyataan Chai 's throw
untuk memeriksa apakah fungsi melempar a dengan benar DivideByZeroError
saat membaginya dengan nol.
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
pernyataan untuk memverifikasi bahwa divide
fungsi melontarkan a DivideByZeroError
saat membaginya dengan nol. Penegasan dibungkus dalam suatu fungsi sehingga dapat menangkap pengecualian dan melakukan pemeriksaan yang diperlukan.
Dengan menyertakan pengujian untuk pelemparan pengecualian yang benar, kami dapat memastikan bahwa fungsi kami menangani kondisi kesalahan dengan tepat dan memberikan umpan balik yang berarti saat terjadi situasi yang tidak terduga. Ini membantu meningkatkan kualitas dan keandalan kode kami secara keseluruhan.
Kesimpulannya, pengujian fungsi yang membuang pengecualian merupakan aspek penting dari pengujian perangkat lunak. Dengan Chai pernyataan throw
, kita dapat dengan mudah memverifikasi bahwa fungsi kita membuang pengecualian yang diharapkan bila diperlukan. Dengan memasukkan pengujian ini ke dalam strategi pengujian kami, kami dapat meningkatkan ketahanan aplikasi kami dan memberikan pengalaman pengguna yang lebih baik.
Pada artikel ketiga dari seri "Node.js, Mocha, dan Chai ", kita akan mengeksplorasi cara menguji fungsi dan metode menggunakan Chai. Chai adalah library pernyataan yang kuat untuk menguji nilai dan hasil dalam JavaScript kode.
Menguji metode objek dan perilakunya
Untuk memverifikasi metode suatu objek, kita dapat menggunakan pernyataan yang disediakan oleh kerangka kerja pengujian seperti Mocha dan Chai. Penegasan ini memungkinkan kita untuk membuat pernyataan tentang properti dan perilaku objek.
Mari pertimbangkan contoh di mana kita memiliki objek yang dipanggil calculator
dengan metode penjumlahan, pengurangan, perkalian, dan pembagian. Kami ingin memastikan bahwa metode ini mengembalikan hasil yang benar. Kita dapat menulis kasus uji menggunakan Chai pernyataan 's untuk memverifikasi perilaku metode 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, kita menggunakan pernyataan Chai s expect
untuk memverifikasi bahwa metode objek calculator
mengembalikan hasil yang diharapkan. Setiap test case berfokus pada metode tertentu dan memeriksa apakah itu mengembalikan output yang benar untuk input yang diberikan.
Dengan menjalankan kasus uji ini, kami dapat memastikan bahwa metode objek calculator
berfungsi seperti yang diharapkan dan memberikan hasil yang akurat.
Selain memeriksa nilai pengembalian metode, kita juga dapat menggunakan pernyataan untuk memverifikasi properti dan perilaku objek lainnya. Chai menyediakan berbagai pernyataan yang memungkinkan kita membuat berbagai jenis pernyataan pada objek, seperti memeriksa nilai properti, memverifikasi pemanggilan metode, dan lainnya.
Dengan menguji metode suatu objek secara menyeluruh, kami dapat memastikan kebenaran dan keandalannya, yang berkontribusi pada kualitas keseluruhan basis kode kami.