সঠিক ব্যতিক্রম নিক্ষেপ করার জন্য ফাংশন টেস্টিং
ব্যতিক্রম পরীক্ষা করার জন্য, আমরা throw
দ্বারা প্রদত্ত দাবী ব্যবহার করতে পারি Chai । এই দাবীটি আমাদেরকে ব্যতিক্রমের ধরণ নির্দিষ্ট করতে দেয় যা নিক্ষেপ করা উচিত এবং যেকোন অতিরিক্ত বিবরণ আমরা যাচাই করতে চাই। আমাদের পরীক্ষার ক্ষেত্রে এই দাবিটি অন্তর্ভুক্ত করে, আমরা নিশ্চিত করতে পারি যে আমাদের ফাংশনগুলি প্রত্যাশিতভাবে আচরণ করে এবং ত্রুটির অবস্থা যথাযথভাবে পরিচালনা করে।
আসুন একটি উদাহরণ বিবেচনা করি যেখানে আমাদের একটি ফাংশন রয়েছে যা দুটি সংখ্যাকে ভাগ করে। আমরা নিশ্চিত করতে চাই যে শূন্য দ্বারা ভাগ করার সময় ফাংশনটি একটি ব্যতিক্রম ছুঁড়েছে। শূন্য দ্বারা ভাগ করার সময় ফাংশনটি সঠিকভাবে একটি নিক্ষেপ করে কিনা তা পরীক্ষা করার জন্য আমরা Chai 's assertion ব্যবহার করে একটি টেস্ট কেস লিখতে পারি । throw
DivideByZeroError
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);
});
});
উপরের উদাহরণে, আমরা শূন্য দিয়ে ভাগ করার সময় ফাংশনটি একটি থ্রো করে to.throw
তা যাচাই করতে দাবীটি ব্যবহার করি। দাবীটি একটি ফাংশনে মোড়ানো হয় যাতে এটি ব্যতিক্রমটি ধরতে পারে এবং প্রয়োজনীয় পরীক্ষাগুলি সম্পাদন করতে পারে। divide
DivideByZeroError
সঠিক ব্যতিক্রম নিক্ষেপের জন্য পরীক্ষাগুলি অন্তর্ভুক্ত করে, আমরা নিশ্চিত করতে পারি যে আমাদের ফাংশনগুলি ত্রুটির শর্তগুলি যথাযথভাবে পরিচালনা করে এবং অপ্রত্যাশিত পরিস্থিতি ঘটলে অর্থপূর্ণ প্রতিক্রিয়া প্রদান করে। এটি আমাদের কোডের সামগ্রিক গুণমান এবং নির্ভরযোগ্যতা উন্নত করতে সাহায্য করে।
উপসংহারে, টেস্টিং ফাংশন যা ব্যতিক্রমগুলি ফেলে দেয় সফ্টওয়্যার পরীক্ষার একটি গুরুত্বপূর্ণ দিক। Chai এর দাবির সাথে throw
, আমরা সহজেই যাচাই করতে পারি যে আমাদের ফাংশনগুলি যখন প্রয়োজনে প্রত্যাশিত ব্যতিক্রমগুলি নিক্ষেপ করে। এই পরীক্ষাগুলিকে আমাদের পরীক্ষার কৌশলে অন্তর্ভুক্ত করে, আমরা আমাদের অ্যাপ্লিকেশনগুলির দৃঢ়তা বাড়াতে পারি এবং আরও ভাল ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে পারি।
Mocha "Node.js,, এবং " সিরিজের তৃতীয় নিবন্ধে Chai, আমরা কীভাবে ফাংশন এবং পদ্ধতিগুলি ব্যবহার করে পরীক্ষা করতে হয় তা অন্বেষণ করব Chai । Chai কোডে মান এবং ফলাফল পরীক্ষার জন্য একটি শক্তিশালী দাবি গ্রন্থাগার JavaScript ।
বস্তুর পদ্ধতি এবং তাদের আচরণ পরীক্ষা করা
একটি বস্তুর পদ্ধতি যাচাই করার জন্য, আমরা পরিক্ষার কাঠামোর দ্বারা প্রদত্ত দাবী ব্যবহার করতে পারি যেমন Mocha এবং Chai । এই দাবিগুলি আমাদের বস্তুর বৈশিষ্ট্য এবং আচরণ সম্পর্কে দাবি করতে দেয়।
আসুন একটি উদাহরণ বিবেচনা করি যেখানে আমাদের কাছে calculator
যোগ, বিয়োগ, গুণ এবং ভাগের পদ্ধতি সহ একটি বস্তু আছে। আমরা নিশ্চিত করতে চাই যে এই পদ্ধতিগুলি সঠিক ফলাফল প্রদান করে। Chai আমরা এই পদ্ধতির আচরণ যাচাই করার জন্য 's assertions ব্যবহার করে পরীক্ষার কেস লিখতে পারি ।
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);
});
});
উপরের উদাহরণে, বস্তুর পদ্ধতিগুলি প্রত্যাশিত ফলাফল প্রদান করে তা যাচাই করার জন্য আমরা Chai ' ssertion ব্যবহার করি। প্রতিটি পরীক্ষার ক্ষেত্রে একটি নির্দিষ্ট পদ্ধতিতে ফোকাস করে এবং এটি একটি প্রদত্ত ইনপুটের জন্য সঠিক আউটপুট প্রদান করে কিনা তা পরীক্ষা করে। expect
calculator
এই পরীক্ষার ক্ষেত্রে চালানোর মাধ্যমে, আমরা নিশ্চিত করতে পারি যে বস্তুর পদ্ধতিগুলি calculator
প্রত্যাশিত হিসাবে আচরণ করে এবং সঠিক ফলাফল প্রদান করে।
পদ্ধতির রিটার্ন মান পরীক্ষা করার পাশাপাশি, আমরা বস্তুর অন্যান্য বৈশিষ্ট্য এবং আচরণ যাচাই করার জন্য দাবী ব্যবহার করতে পারি। Chai বিস্তৃত দাবী প্রদান করে যা আমাদের বস্তুর উপর বিভিন্ন ধরণের দাবী করার অনুমতি দেয়, যেমন সম্পত্তির মান পরীক্ষা করা, পদ্ধতির আহ্বান যাচাই করা এবং আরও অনেক কিছু।
একটি বস্তুর পদ্ধতি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করে, আমরা তাদের সঠিকতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে পারি, যা আমাদের কোডবেসের সামগ্রিক গুণমানে অবদান রাখে।