Mocha اور کا استعمال کرتے ہوئے ایک بنیادی ٹیسٹ بنانا Chai
Mocha کا استعمال کرتے ہوئے ایک بنیادی ٹیسٹ بنانے کے لیے Chai ، آپ ان اقدامات پر عمل کر سکتے ہیں:
1. انسٹال کریں Mocha اور: اپنے Node.js پروجیکٹ کو انسٹال Chai کرنے کے لیے npm(Node Package Manager) کا استعمال کریں ۔ اپنی پروجیکٹ ڈائرکٹری میں درج ذیل کمانڈ کو چلائیں: Mocha Chai
npm install mocha chai --save-dev
2. ایک ٹیسٹ فائل بنائیں: ایک نئی فائل بنائیں، مثال کے طور پر test.js
، اور استعمال کرنے کے لیے درج ذیل اعلانات درآمد کریں Mocha اور 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. ٹیسٹ چلائیں: ٹرمینل کھولیں اور mocha
ٹیسٹوں کو انجام دینے کے لیے کمانڈ چلائیں۔ اگر سب کچھ آسانی سے چلتا ہے، تو آپ ٹرمینل میں دکھائے گئے نتائج دیکھیں گے۔
یہ بنیادی ٹیسٹ ایک سادہ حساب کتاب کو چیک کرنے کے لیے Mocha استعمال کرتا ہے۔ Chai اوپر کی مثال میں، ہم چیک کرتے ہیں کہ 2 + 2
آپریشن کا نتیجہ برابر ہونا چاہیے 4
۔ اگر نتیجہ درست ہے تو امتحان پاس ہو جائے گا۔
جوڑ کر describe
اور it
بلاک کر کے، آپ مزید پیچیدہ ٹیسٹ بنا سکتے ہیں اور اپنے سورس کوڈ کے مختلف حصوں کو چیک کر سکتے ہیں۔
نوٹ کریں کہ آپ جانچ کے لیے Chai ، جیسے assert
یا ، کی طرف سے فراہم کردہ دیگر دعوے کے طریقے بھی استعمال کر سکتے ہیں۔ should
مخصوص استعمال آپ کی پسند پر منحصر ہے اور آپ اپنے ٹیسٹ کوڈ کو کس طرح ترتیب دینا چاہتے ہیں۔
فنکشن کے نتائج کی تصدیق کے لیے دعوے اور استفسارات کا استعمال
استعمال کرتے وقت Mocha اور Chai جانچ کے لیے، آپ افعال کے نتائج کو چیک کرنے کے لیے دعوے اور سوالات کا استعمال کر سکتے ہیں۔ فنکشن کے نتائج کو چیک کرنے کے لیے دعوے اور سوالات کے استعمال کی کچھ مثالیں یہ ہیں:
1. کسی فنکشن کا نتیجہ چیک کرنے کے لیے expect
دعویٰ اور استفسار کا استعمال کریں جو ایک مخصوص قدر لوٹاتا ہے: to.equal
const result = myFunction();
expect(result).to.equal(expectedValue);
2. بولین ویلیو واپس کرنے والے فنکشن کے نتیجے کو چیک کرنے کے لیے 'expect' دعوی اور to.be.true
یا استفسار کا استعمال کریں: to.be.false
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
to.be.null
3. کسی فنکشن کے نتیجے کو چیک کرنے کے لیے 'expect' دعویٰ اور or to.be.undefined استفسار کا استعمال کریں جو ایک کالعدم یا غیر متعینہ قدر لوٹاتا ہے:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. یہ چیک کرنے کے لیے expect
دعویٰ اور to.include
استفسار کا استعمال کریں کہ آیا کوئی قدر کسی صف یا سٹرنگ میں شامل ہے:
const result = myFunction();
expect(result).to.include(expectedValue);
5. کسی صف یا سٹرنگ کی لمبائی کو چیک کرنے کے لیے expect
دعویٰ اور استفسار کا استعمال کریں: to.have.lengthOf
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Mocha یہ مثالیں دعوے اور استفسارات کو استعمال کرنے اور Chai فنکشن کے نتائج کو چیک کرنے کے بہت سے طریقوں میں سے چند ہیں ۔ آپ اپنے پروجیکٹ کی جانچ کی ضروریات کی بنیاد پر مناسب دعووں اور استفسارات کو اپنی مرضی کے مطابق اور استعمال کر سکتے ہیں۔
کامیاب اور ناکام ٹیسٹ کیسز بنانا
Mocha اور کے ساتھ ٹیسٹ کیس لکھتے وقت Chai ، کامیاب اور ناکامی دونوں منظرناموں کا احاطہ کرنا ضروری ہے۔ یہاں کامیاب اور ناکامی دونوں منظرناموں کے لیے ٹیسٹ کیسز بنانے کی مثالیں ہیں:
1. کامیاب ٹیسٹ کیس:
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. ناکامی ٹیسٹ کیس:
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);
});
});
کامیاب ٹیسٹ کیس میں، آپ فنکشن اور متوقع نتیجہ کے لیے ان پٹ کی وضاحت کرتے ہیں۔ اس کے بعد، آپ ان پٹ کے ساتھ فنکشن کو کال کرتے ہیں اور دعوی کرتے ہیں کہ نتیجہ متوقع قدر سے میل کھاتا ہے۔
ناکامی کے ٹیسٹ کی صورت میں، آپ فنکشن کو غلط ان پٹ فراہم کرتے ہیں اور اس بات پر زور دیتے ہیں کہ اس سے غلطی ہوتی ہے۔ یہ یقینی بناتا ہے کہ فنکشن غلط ان پٹ یا خرابی کے حالات کو صحیح طریقے سے ہینڈل کرتا ہے۔
اپنے ٹیسٹ کیسز میں کامیاب اور ناکامی دونوں منظرناموں کا احاطہ کرکے، آپ اس بات کو یقینی بنا سکتے ہیں کہ آپ کے کوڈ کی اچھی طرح جانچ کی گئی ہے اور مختلف حالات کو مناسب طریقے سے ہینڈل کرتا ہے۔