Mocha اور کے ساتھ آسان ٹیسٹ بنانا Chai

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);  
  });  
});

کامیاب ٹیسٹ کیس میں، آپ فنکشن اور متوقع نتیجہ کے لیے ان پٹ کی وضاحت کرتے ہیں۔ اس کے بعد، آپ ان پٹ کے ساتھ فنکشن کو کال کرتے ہیں اور دعوی کرتے ہیں کہ نتیجہ متوقع قدر سے میل کھاتا ہے۔

ناکامی کے ٹیسٹ کی صورت میں، آپ فنکشن کو غلط ان پٹ فراہم کرتے ہیں اور اس بات پر زور دیتے ہیں کہ اس سے غلطی ہوتی ہے۔ یہ یقینی بناتا ہے کہ فنکشن غلط ان پٹ یا خرابی کے حالات کو صحیح طریقے سے ہینڈل کرتا ہے۔

اپنے ٹیسٹ کیسز میں کامیاب اور ناکامی دونوں منظرناموں کا احاطہ کرکے، آپ اس بات کو یقینی بنا سکتے ہیں کہ آپ کے کوڈ کی اچھی طرح جانچ کی گئی ہے اور مختلف حالات کو مناسب طریقے سے ہینڈل کرتا ہے۔