Cypress ist ein End-to-End-Testing-Framework, das dafür entwickelt wurde, JavaScript-basierte Webapplikationen zu testen. Es bietet eine einfach zu bedienende Benutzeroberfläche und viele hilfreiche Funktionen, um umfangreiche Tests kurz und auf den Punkt zu schreiben.
Es hat im Vergleich zu anderen Testing-Frameworks mehrere Vorteile:
1. Echtzeit-Neuladen: Cypress aktualisiert automatisch Ihre Tests, sobald Sie Änderungen in Ihren Testdateien vornehmen.
2. Automatische Wartezeiten: Cypress wartet automatisch auf die Fertigstellung von Befehlen und Behauptungen, bevor sie zur Nächsten übergehen, um Zeitüberschreitungsfehler zu verhindern.
3. Zugriff auf alle Objekte: Sie haben Zugriff auf jedes Objekt innerhalb Ihrer Anwendung, wie das Fenster oder das Dokument.
4. Debuggbarkeit: Cypress enthält ausgezeichnete Tools zum Debuggen, um Ihnen zu helfen zu verstehen, was genau in Ihrem Code geschieht.
So verwenden Sie Cypress zum Testen in JavaScript:
1. Installation: Sie können Cypress ganz einfach über npm in Ihrem Projekt installieren. Führen Sie einfach folgendes Kommando aus: `npm install cypress`
2. Projekt-Setup: Nach der Installation können Sie Cypress zum ersten Mal laufen lassen, indem Sie das Kommando `node_modules/.bin/cypress open` ausführen.
3. Erstellen eines Tests: Erstellen Sie eine neue Testdatei unter `cypress/integration`. Diese Datei sollte mit `.spec.js` enden.
4. Schreiben von Tests: Cypress-Tests sehen aus wie Mocha-Tests, da sie das gleiche API verwenden.
Ein einfacher Test könnte ungefähr so aussehen:
```javascript
describe(‘Meine Test-Suite’, function() {
it(‘findet das Element mit der Klasse “.my-class”’, function() {
cy.visit(‘http://mywebsite.com’) // Besucht die angegebene URL
cy.get(‘.my-class’) // Findet das Element mit der Klasse “.my-class“
})
})
```
5. Test ausführen: Zum Ausführen der Tests geben Sie einfach `node_modules/.bin/cypress open` in Ihrem Terminal ein und klicken Sie auf den Test, den Sie laufen lassen möchten. Ein neues Fenster öffnet sich und Sie können sehen, wie der Test läuft.