JavaScript:
Scrivere test

Come fare:

Approccio Nativo (usando Jest)

Jest è un framework di test popolare che fornisce un’API amichevole per scrivere test unitari in JavaScript. Richiede una configurazione minima e viene fornito con funzionalità come funzioni mock, timer e test degli snapshot.

  1. Installazione:
npm install --save-dev jest
  1. Scrivere un test semplice:

Crea un file chiamato sum.test.js:

const sum = require('./sum'); // Assume che questa funzione sommi semplicemente due numeri

test('aggiunge 1 + 2 per ottenere 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. Eseguire il tuo test:
npx jest

Output di Esempio:

PASS  ./sum.test.js
✓ aggiunge 1 + 2 per ottenere 3 (5ms)

Testare Codice Asincrono

Jest semplifica il test di promesse e della sintassi async/await:

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

// test di asyncSum.js
test('l'addizione asincrona funziona', async () => {
  await expect(asyncSum(1, 2)).resolves.toBe(3);
});

Utilizzare Librerie di Terze Parti (Mocha & Chai)

Mocha è un altro framework di test popolare, spesso utilizzato con la libreria di asserzioni Chai per test più espressivi.

  1. Installazione:
npm install --save-dev mocha chai
  1. Scrivere un test con Mocha e Chai:

Crea calculate.test.js:

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

const calculate = require('./calculate'); // Un modulo di calcolo semplice

describe('Calculate', function() {
  it('dovrebbe sommare due valori', function() {
    expect(calculate.sum(5, 2)).to.equal(7);
  });
});
  1. Eseguire i tuoi test con Mocha:

Aggiungi uno script nel tuo package.json:

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

Poi esegui:

npm test

Output di Esempio:

  Calculate
    ✓ dovrebbe sommare due valori


  1 passing (8ms)

Questi esempi illustrano la scrittura e l’esecuzione di base dei test in JavaScript. Adottare un framework di test come Jest o Mocha con Chai può fornire una base solida per robusti test delle applicazioni, contribuendo a garantire che il tuo codice funzioni come previsto attraverso aggiornamenti e rifacimenti.