slogan3

Help me bij het implementeren van unittests voor mijn JavaScript-functies

description

Door het implementeren van unittests kun je bugs vroeg opsporen, de betrouwbaarheid van de code verbeteren en toekomstige codewijzigingen vereenvoudigen, terwijl je ervoor zorgt dat bestaande functionaliteit behouden blijft.

prompt

try_prompt

Help me bij het opzetten van unittests voor mijn JavaScript-functies om te zorgen dat ze werken zoals verwacht. Geef me alsjeblieft begeleiding over het kiezen van e ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een gids om je te helpen bij het opzetten van unittests voor je JavaScript-functies: 1. Kies een testframework Voor JavaScript zijn populaire testframeworks: - Jest: eenvoudig te gebruiken, inclusief mocking, assertions, en code coverage. - Mocha + Chai: flexibel, met uitgebreide assertions en plugins. - Jasmine: alles-in-één, zonder afhankelijkheden. Voor eenvoud en uitgebreide functionaliteit raad ik Jest aan. 2. Testomgeving instellen - Installeer Node.js en npm als je dat nog niet hebt. - Maak een nieuw project of gebruik je bestaande project. - Installeer Jest: ```bash npm init -y npm install --save-dev jest ``` - Voeg in package.json onder "scripts" toe: ```json "test": "jest" ``` 3. Schrijf je eerste test Maak een bestand bijvoorbeeld `add.test.js`: ```javascript const add = require('./add'); // pas aan afhankelijk van je bestandsnaam test('voegt twee getallen samen', () => { expect(add(2, 3)).toBe(5); }); ``` 4. Functie exporteren Zorg dat je functie exporteert in `add.js`: ```javascript function add(a, b) { return a + b; } module.exports = add; ``` 5. Test uitvoeren In terminal: ```bash npm test ``` 6. Beste praktijken - Test verschillende scenario’s: positieve, negatieve getallen, nul, ongeldige inputs. - Gebruik descriptive testnamen: `Voegt twee positieve getallen toe`. - Houd tests klein en specifiek. - Voeg commentaar toe indien nodig. - Voer regelmatig tests uit bij codewijzigingen. - Gebruik code coverage tools (bijv. Jest's ingebouwde coverage) om te zorgen dat je voldoende testdekking hebt. --- Wil je dat ik voorbeelden geef van uitgebreide testgevallen voor jouw functies of hulp bij het structureren van je tests?
provider: deepseek
model: deepseek-chat
Zeker, ik help je graag met het opzetten van unittests voor je JavaScript-functies. Hier is een complete begeleiding in het Nederlands: ### 1. Kies een Testframework Voor JavaScript zijn dit de populairste opties: - **Jest** (Aanbevolen voor beginners): - Eenvoudige configuratie - Uitgebreide features (mocking, snapshots) - Zeer populair in de community - **Mocha** + **Chai**: - Flexibeler maar vereist meer setup - Mocha als testrunner, Chai voor assertions **Mijn advies**: Start met Jest vanwege de lage instapdrempel. Installatie: ```bash npm install --save-dev jest ``` ### 2. Schrijf je Eerste Test Voor je `add` functie: ```javascript // add.test.js const { add } = require('./jouw-bestand'); // Pas pad aan describe('add functie', () => { test('telt twee positieve getallen correct op', () => { expect(add(2, 3)).toBe(5); }); test('telt positief en negatief getal correct op', () => { expect(add(5, -3)).toBe(2); }); test('werkt met nulwaarden', () => { expect(add(0, 0)).toBe(0); expect(add(5, 0)).toBe(5); }); test('werkt met decimale getallen', () => { expect(add(2.5, 1.5)).toBe(4); }); }); ``` ### 3. Teststructuur (AAA-patroon) - **Arrange**: Voorbereiden van testdata - **Act**: Uitvoeren van de te testen functie - **Assert**: Controleren van het resultaat Voorbeeld: ```javascript test('telt twee getallen correct op', () => { // Arrange const a = 5; const b = 3; // Act const result = add(a, b); // Assert expect(result).toBe(8); }); ``` ### 4. Beste Praktijken voor Testkwaliteit **Test dekking:** - Streef naar 70-80% testdekking - Test alle belangrijke paden (happy path, edge cases) **Testisolatie:** - Elke test moet onafhankelijk zijn - Gebruik `beforeEach`/`afterEach` voor setup/cleanup **Leesbare testnamen:** ```javascript // Goed test('retourneert null wanneer input ongeldig is') // Minder goed test('test invalid input') ``` **Edge cases voor je add functie:** ```javascript test('werkt met grote getallen', () => { expect(add(999999999, 1)).toBe(1000000000); }); test('werkt met string inputs die nummers zijn', () => { expect(add('2', '3')).toBe(5); }); ``` ### 5. Package.json Configuratie Voeg dit toe aan je `package.json`: ```json { "scripts": { "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage" } } ``` ### 6. Uitvoeren van Tests ```bash npm test # Eén keer uitvoeren npm run test:watch # Watch mode (bij ontwikkelen) npm run test:coverage # Met dekking rapport ``` ### 7. Extra Tips - Test **één ding per testcase** - Gebruik beschrijvende foutmeldingen - Test zowel succes- als foutscenario's - Houd tests snel en voer ze regelmatig uit Begin met deze basis en breid geleidelijk uit naar complexere functies. Voor je `add` functie zijn de bovenstaande testvoorbeelden een uitstekend startpunt!