JavaScript:
Pisanie testów
Jak to zrobić:
Natywne podejście (używając Jest)
Jest to popularne narzędzie do testowania, które dostarcza przyjazne API do pisania testów jednostkowych w JavaScript. Wymaga minimalnej konfiguracji i oferuje funkcje takie jak atrapy funkcji, timery i testowanie migawek.
- Instalacja:
npm install --save-dev jest
- Pisanie prostego testu:
Utwórz plik o nazwie sum.test.js
:
const sum = require('./sum'); // Zakładamy, że ta funkcja po prostu dodaje dwie liczby
test('dodaje 1 + 2, żeby otrzymać 3', () => {
expect(sum(1, 2)).toBe(3);
});
- Uruchamianie testu:
npx jest
Przykładowe wyjście:
PASS ./sum.test.js
✓ dodaje 1 + 2, żeby otrzymać 3 (5ms)
Testowanie kodu asynchronicznego
Jest ułatwia testowanie obietnic i składni async/await:
// asyncSum.js
async function asyncSum(a, b) {
return Promise.resolve(a + b);
}
// asyncSum.test.js
test('asynchroniczne dodawanie działa', async () => {
await expect(asyncSum(1, 2)).resolves.toBe(3);
});
Użycie bibliotek stron trzecich (Mocha & Chai)
Mocha to kolejne popularne narzędzie do testowania, często używane z biblioteką asercji Chai dla bardziej ekspresyjnych testów.
- Instalacja:
npm install --save-dev mocha chai
- Pisanie testu z wykorzystaniem Mochy i Chai:
Utwórz calculate.test.js
:
const chai = require('chai');
const expect = chai.expect;
const calculate = require('./calculate'); // Prosty moduł kalkulacyjny
describe('Calculate', function() {
it('powinien sumować dwie wartości', function() {
expect(calculate.sum(5, 2)).to.equal(7);
});
});
- Uruchamianie testów z Mocha:
Dodaj skrypt w swoim pliku package.json
:
"scripts": {
"test": "mocha"
}
Następnie wykonaj:
npm test
Przykładowe wyjście:
Calculate
✓ powinien sumować dwie wartości
1 passing (8ms)
Te przykłady ilustrują podstawy pisania i wykonywania testów w JavaScript. Przyjęcie ramy do testowania takiej jak Jest czy Mocha z Chai może zapewnić solidną podstawę do solidnego testowania aplikacji, pomagając zapewnić, że twój kod funkcjonuje zgodnie z zamierzeniami przez aktualizacje i refaktoryzacje.