Unit-Tests sind ein wesentlicher Teil jeder Anwendungsentwicklung. Sie stellen sicher, dass Ihre Funktionen den erwarteten Output zur Verfügung stellen.
In Node.js können Sie mit dem eingebauten assert Modul zusammen mit einem Test-Framework wie Mocha Tests durchführen.
Hier sind die Schritte, um Unit-Tests in Node.js durchzuführen:
1. Installieren Sie die benötigten Module
Zunächst müssen Sie Mocha und das Assert-Modul installieren, diese Pakete können Sie über den Package-Manager npm installieren:
```shell
npm install —save-dev mocha
```
2. Einrichtung der Testumgebung
Erstellen Sie in Ihrem Projektverzeichnis einen Testordner, in dem alle Testdateien gespeichert werden sollen. Sie können den Ordner beliebig benennen, üblicherweise wird dieser jedoch “test” genannt.
```shell
mkdir test
```
3. Schreiben eines Unit-Tests
Erstellen Sie eine Datei innerhalb des Testverzeichnisses und benennen Sie sie nach dem Modul, das Sie testen möchten. Angenommen, wir haben ein Modul namens `addition.js`, dann könnte die Testdatei `addition.test.js` genannt werden.
In dieser Datei können Sie Ihre Unit-Tests schreiben. Hier ist ein einfaches Beispiel für einen Unit-Test:
```javascript
var assert = require(‘assert’);
var addition = require(‘./addition.js’);
describe(‘Addition’, function() {
describe(‘#add()’, function() {
it(‘should return 2 when the values are 1 and 1’, function() {
assert.equal(addition.add(1, 1), 2);
});
});
});
```
Der obige Test überprüft unsere hypothetische `add` Methode in der `addition.js` Datei. Es erwartet, dass die Methode `add(1,1)` den Wert 2 zurückgibt.
4. Durchführung der Tests
Schließlich können Sie die Tests ausführen, indem Sie den folgenden Befehl in Ihrem Terminal eingeben:
```shell
./node_modules/mocha/bin/mocha
```
Alternativ können Sie `mocha` in Ihrem `package.json` in der Sektion scripts hinzufügen:
```json
“scripts”: {
“test”: “mocha“
}
```
Und danach können Sie Ihre Tests mit `npm test` ausführen.
Und das ist die grundlegende Einführung, wie man Unit-Tests in Node.js erstellt. Denken Sie daran, bei der Weiterentwicklung Ihrer Anwendung noch viele weitere Tests hinzuzufügen.