Tástálacha a bharrfheabhsú agus a eagrú le Mocha agus Chai

Sa phróiseas forbartha bogearraí, tá sé ríthábhachtach tástálacha a bharrfheabhsú agus a eagrú chun cruinneas agus éifeachtúlacht a chinntiú sa chéim tástála. San Airteagal seo, déanfaimid iniúchadh ar conas tástálacha a bharrfheabhsú agus a eagrú le Mocha agus Chai i Node.js.

Má dhéantar tástálacha a bharrfheabhsú agus a eagrú, feabhsaíonn sé an próiseas tástála, laghdaítear earráidí, agus feabhsaíonn sé iontaofacht d'iarratais. Trí na teicnící seo a chur i bhfeidhm, is féidir leat tástálacha a bhainistiú agus a chur i gcrích go héifeachtach i do thionscadal Node.js ag baint úsáide as Mocha agus Chai.

 

Eagraíocht Tástála:

  • Trialacha a chatagóiriú de réir feidhmiúlachta: Trí thástálacha a eagrú bunaithe ar fheidhmiúlacht is fusa na spriocanna tástála a bhainistiú agus a aithint do gach gné ar leith de do thionscadal.
  • Ag baint úsáide as cur síos neadaithe: Bain úsáid as cur síos neadaithe chun struchtúr ordlathach a chruthú chun tástálacha a eagrú. Cuidíonn sé seo le struchtúr soiléir inléite a choinneáil do do shraith tástála.

 

Crúcaí a úsáid chun tascanna socraithe agus scriosta a dhéanamh roimh thástálacha agus ina ndiaidh

  • Crúcaí a úsáid: Mocha soláthraíonn sé crúcaí mar before, after, beforeEach, , agus afterEach chun oibríochtaí réamhthástála agus iar-thástála a dhéanamh. Cuidíonn úsáid crúcaí le ham a shábháil agus feabhas a chur ar fheidhmíocht iomlán na dtrialacha.
  • Úsáid skip agus only treoracha: skip Ligeann an treoir duit tástálacha neamhriachtanach a scipeáil le linn forbartha. Cumasaíonn an only treoir tástálacha sonracha a rith, rud atá úsáideach nuair nach gá duit ach cuid bheag den bhunachar cód a thástáil.

Sampla:

describe('Calculator',() => {  
  beforeEach(() => {  
    // Set up data for all tests within this describe block  
  });  
  
  afterEach(() => {  
    // Clean up after running all tests within this describe block  
  });  
  
  describe('Addition',() => {  
    it('should return the correct sum',() => {  
      // Test addition operation  
    });  
  
    it('should handle negative numbers',() => {  
      // Test addition with negative numbers  
    });  
  });  
  
  describe('Subtraction',() => {  
    it('should return the correct difference',() => {  
      // Test subtraction operation  
    });  
  
    it('should handle subtracting a larger number from a smaller number',() => {  
      // Test subtraction when subtracting a larger number from a smaller number  
    });  
  });  
});  

 

Trialacha a ghrúpáil agus bloic cur síos a úsáid le haghaidh eagrúcháin

Chun tástálacha a eagrú agus a ghrúpáil le chéile, is féidir linn na describe bloic a úsáid i gcreat tástála mar Mocha. Ligeann an describe bloc dúinn tástálacha gaolmhara a ghrúpáil bunaithe ar thopaic nó ar chuspóir ar leith.

Seo sampla d’úsáid describe bloic chun tástálacha a bhaineann le Calculator réad a eagrú:

const { expect } = require('chai');  
  
class Calculator {  
  add(a, b) {  
    return a + b;  
  }  
  
  subtract(a, b) {  
    return a- b;  
  }  
  
  multiply(a, b) {  
    return a * b;  
  }  
  
  divide(a, b) {  
    if(b === 0) {  
      throw new Error('Cannot divide by zero');  
    }  
    return a / b;  
  }  
}  
  
describe('Calculator',() => {  
  let calculator;  
  
  beforeEach(() => {  
    calculator = new Calculator();  
  });  
  
  describe('add()',() => {  
    it('should return the sum of two numbers',() => {  
      const result = calculator.add(5, 3);  
      expect(result).to.equal(8);  
    });  
  });  
  
  describe('subtract()',() => {  
    it('should return the difference of two numbers',() => {  
      const result = calculator.subtract(5, 3);  
      expect(result).to.equal(2);  
    });  
  });  
  
  describe('multiply()',() => {  
    it('should return the product of two numbers',() => {  
      const result = calculator.multiply(5, 3);  
      expect(result).to.equal(15);  
    });  
  });  
  
  describe('divide()',() => {  
    it('should return the quotient of two numbers',() => {  
      const result = calculator.divide(6, 3);  
      expect(result).to.equal(2);  
    });  
  
    it('should throw an error when dividing by zero',() => {  
      expect(() => calculator.divide(6, 0)).to.throw('Cannot divide by zero');  
    });  
  });  
});  

Sa sampla thuas, úsáidimid describe bloic chun tástálacha a ghrúpáil a bhaineann le gach modh den Calculator réad. Bainimid úsáid freisin as beforeEach bloc chun réad nua a chruthú Calculator roimh gach tástáil a rith.

Trí úsáid a bhaint as describe bloic, is féidir linn tástálacha a eagrú agus a ghrúpáil ar bhealach soiléir agus struchtúrach, rud a fhágann go bhfuil sé éasca an cód tástála a thuiscint agus a bhainistiú.

 

An próiseas tástála a shaincheapadh le forlíontáin agus tuairisceoirí

Agus creataí tástála cosúil le Mocha agus Chai, á n-úsáid againn, is féidir linn an próiseas tástála a shaincheapadh trí fhorlíontáin agus tuairisceoirí a úsáid. Seo roinnt samplaí de conas forlíontáin agus tuairisceoirí a úsáid chun an próiseas tástála a shaincheapadh:

  1. Mocha plugins : Mocha tacaíonn sé le húsáid breiseán chun a chuid gnéithe a leathnú. Mar shampla, is féidir leat é a úsáid mocha-parallel-tests chun tástálacha a reáchtáil i gcomhthráth, rud a d'fhéadfadh an cur i gcrích a bhrostú. Is féidir leat an breiseán seo a shuiteáil trí npm agus ansin é a úsáid i do Mocha chomhad cumraíochta.

  2. Chai plugins : Chai soláthraíonn sé forlíontáin freisin chun a chuid gnéithe a leathnú. Mar shampla, is féidir leat é a úsáid chai-http chun iarratais HTTP a thástáil i do thástálacha. Ar an gcaoi chéanna, suiteálann tú an breiseán seo trí npm agus ansin é a úsáid i do chomhaid tástála.

  3. Tuairisceoirí : Mocha tacaíonn sé le cineálacha éagsúla tuairisceoirí chun torthaí tástála a thaispeáint. Is tuairisceoir coitianta é mocha-reporter, a sholáthraíonn formáidí tuairisce éagsúla cosúil le spec, ponc, agus níos mó. Is féidir leat an tuairisceoir is mian leat a úsáid a shonrú trí roghanna na n-orduithe nó sa chomhad cumraíochta.

Mar shampla, chun an mocha-reporter tuairisceoir a úsáid, is féidir leat an t-ordú seo a leanas a rith:

mocha --reporter mocha-reporter tests/*.js

Rithfidh sé seo na tástálacha san tests eolaire agus taispeánfaidh sé na torthaí ag baint úsáide as an mocha-reporter tuairisceoir.

Trí úsáid a bhaint as forlíontáin agus tuairisceoirí, is féidir leat gnéithe do thionscadal a shaincheapadh agus a leathnú Mocha agus Chai chun freastal ar riachtanais tástála do thionscadail.