JavaScript:
Testien kirjoittaminen

Miten:

Natiivi lähestymistapa (käyttäen Jest)

Jest on suosittu testauskehys, joka tarjoaa ystävällisen API:n yksikkötestien kirjoittamiseen JavaScriptillä. Se vaatii minimaalisen konfiguraation ja sisältää ominaisuuksia kuten mock-funktiot, ajastimet ja tilannevedostestauksen.

  1. Asennus:
npm install --save-dev jest
  1. Yksinkertaisen testin kirjoittaminen:

Luo tiedosto nimeltä sum.test.js:

const sum = require('./sum'); // Oletetaan, että tämä funktio yksinkertaisesti lisää kaksi numeroa

test('laskee 1 + 2 yhtä suureksi kuin 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. Testisi ajaminen:
npx jest

Esimerkkituloste:

PASS  ./sum.test.js
✓ laskee 1 + 2 yhtä suureksi kuin 3 (5ms)

Asynkronisen koodin testaaminen

Jest tekee lupauksien ja async/await-syntaksin testaamisesta helppoa:

// asyncSum.js
async function asyncSum(a, b) {
  return Promise.resolve(a + b);
}

// asyncSum.test.js
test('asynkroninen summaus toimii', async () => {
  await expect(asyncSum(1, 2)).resolves.toBe(3);
});

Kolmansien osapuolien kirjastojen käyttö (Mocha & Chai)

Mocha on toinen suosittu testauskehys, jota usein käytetään yhdessä väittämäkirjasto Chain kanssa ilmaisuvoimaisempien testien tekemiseen.

  1. Asennus:
npm install --save-dev mocha chai
  1. Testin kirjoittaminen Mochan ja Chain kanssa:

Luo calculate.test.js:

const chai = require('chai');
const expect = chai.expect;

const calculate = require('./calculate'); // Yksinkertainen laskentamoduuli

describe('Calculate', function() {
  it('should sum two values', function() {
    expect(calculate.sum(5, 2)).to.equal(7);
  });
});
  1. Testiesi ajaminen Mochalla:

Lisää skripti package.json-tiedostoosi:

"scripts": {
  "test": "mocha"
}

Sen jälkeen suorita:

npm test

Esimerkkituloste:

  Calculate
    ✓ should sum two values


  1 passing (8ms)

Nämä esimerkit havainnollistavat perus testien kirjoittamista ja suorittamista JavaScriptillä. Testauskehyksen, kuten Jestin tai Mochan Chain kanssa, käyttöönotto voi tarjota vankan perustan sovellustestaukselle, auttaen varmistamaan, että koodisi toimii tarkoitetulla tavalla päivitysten ja refaktorointien yli.