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 jestPrzykł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 testPrzykł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.