Fähigkeiten javascript-testing-patterns
🧪

javascript-testing-patterns

Sicher

JavaScript-Testing-Muster meistern

Auch verfügbar von: wshobson

Tests zu schreiben ist schwer. Diese Fähigkeit bietet bewährte Muster und Beispiele für Unit-, Integrations- und End-to-End-Testing mit Jest, Vitest und Testing Library, damit Sie schnell zuverlässige Test-Suiten aufbauen können.

Unterstützt: Claude Codex Code(CC)
🥉 74 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "javascript-testing-patterns". Write unit tests for an add function that takes two numbers and returns their sum

Erwartetes Ergebnis:

  • ```typescript
  • import { describe, it, expect } from 'vitest';
  • import { add } from './calculator';
  •  
  • describe('add', () => {
  • it('should add two positive numbers', () => {
  • expect(add(2, 3)).toBe(5);
  • });
  •  
  • it('should add negative numbers', () => {
  • expect(add(-2, -3)).toBe(-5);
  • });
  •  
  • it('should handle zero', () => {
  • expect(add(0, 5)).toBe(5);
  • });
  • });
  • ```

Verwendung von "javascript-testing-patterns". Create a test for a user form component that validates email and submits data

Erwartetes Ergebnis:

  • ```typescript
  • import { render, screen, fireEvent } from '@testing-library/react';
  • import { describe, it, expect, vi } from 'vitest';
  • import { UserForm } from './UserForm';
  •  
  • describe('UserForm', () => {
  • it('should show validation error for invalid email', () => {
  • render(<UserForm onSubmit={vi.fn()} />);
  • fireEvent.change(screen.getByTestId('email-input'), {
  • target: { value: 'invalid-email' }
  • });
  • fireEvent.click(screen.getByRole('button', { name: 'Submit' }));
  • expect(screen.getByText('Invalid email')).toBeInTheDocument();
  • });
  •  
  • it('should call onSubmit with form data', () => {
  • const onSubmit = vi.fn();
  • render(<UserForm onSubmit={onSubmit} />);
  • fireEvent.change(screen.getByTestId('name-input'), {
  • target: { value: 'John Doe' }
  • });
  • fireEvent.change(screen.getByTestId('email-input'), {
  • target: { value: 'john@example.com' }
  • });
  • fireEvent.click(screen.getByRole('button', { name: 'Submit' }));
  • expect(onSubmit).toHaveBeenCalledWith({
  • name: 'John Doe',
  • email: 'john@example.com'
  • });
  • });
  • });
  • ```

Sicherheitsaudit

Sicher
v1 • 2/25/2026

All 145 static findings are false positives. The detected patterns exist only in code examples within markdown documentation files, not in executable code. The skill provides educational content about testing patterns with code samples demonstrating legitimate testing practices including mock setup, API testing, email service testing, and database integration testing. No executable code, no security risks.

2
Gescannte Dateien
1,063
Analysierte Zeilen
0
befunde
1
Gesamtzahl Audits
Keine Sicherheitsprobleme gefunden
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
50
Community
100
Sicherheit
91
Spezifikationskonformität

Was du bauen kannst

Neues Projekt Test-Setup

Entwickler, die ein neues JavaScript/TypeScript-Projekt starten und eine Test-Infrastruktur von Grund auf mit korrekter Framework-Konfiguration, Verzeichnisstruktur und CI/CD-Integration aufbauen müssen.

Tests zum bestehenden Codebase hinzufügen

Teams, die Legacy- oder ungetestete Anwendungen pflegen und schrittweise Tests für bestehende Funktionen, APIs und Komponenten einführen müssen, ohne die bestehende Funktionalität zu brechen.

Test-Coverage verbessern

Entwickler, die die Code-Coverage verbessern und die Testqualität durch das Erlernen fortgeschrittener Mocking-Muster, Fixture-Factories und Integrationstesting-Strategien erhöhen möchten.

Probiere diese Prompts

Basis Unit-Test
Schreiben Sie Unit-Tests für eine Funktion, die [beschreiben Sie, was die Funktion macht]. Fügen Sie Tests für Erfolgsfälle und Fehlerbehandlung hinzu.
Komponententest mit Testing Library
Erstellen Sie React Testing Library-Tests für eine Komponente, die [beschreiben Sie das Komponentenverhalten]. Testen Sie Benutzerinteraktionen, Formularübermittlungen und Fehlerzustände.
API-Integrationstest
Schreiben Sie Integrationstests für einen REST-API-Endpunkt, der [beschreiben Sie die Endpunktfunktionalität]. Fügen Sie Datenbank-Setup, Authentifizierung und Bereinigung mit supertest hinzu.
Externe Abhängigkeiten mocken
Erstellen Sie Tests für [Service/Klasse], die externe Abhängigkeiten mocken, einschließlich [Abhängigkeiten auflisten]. Verwenden Sie Dependency Injection und vi.mock-Muster.

Bewährte Verfahren

  • Befolgen Sie das Arrange-Act-Assert (AAA)-Muster in jedem Test für klare Struktur und Lesbarkeit
  • Testen Sie Verhalten und Benutzerinteraktionen anstatt Implementierungsdetails, um Tests widerstandsfähig gegen Refactoring zu machen
  • Verwenden Sie beforeEach- und afterEach-Hooks für Setup und Bereinigung, um Tests isoliert zu halten und Verschmutzung zu verhindern

Vermeiden

  • Testen von Implementierungsdetails wie internen Funktionsaufrufen oder Komponentenzuständen anstatt beobachtbarem Verhalten
  • Schreiben von spröden Tests, die brechen, wenn Code refaktoriert wird, aber das Verhalten gleich bleibt
  • Erstellen von übermäßig komplexen Test-Setups mit zu vielen Mocks, die Tests schwer verständlich und wartbar machen

Häufig gestellte Fragen

Sollte ich Jest oder Vitest verwenden?
Vitest ist schneller und funktioniert besser mit Vite-Projekten. Jest ist ausgereifter und hat eine breitere Akzeptanz. Wählen Sie Vitest, wenn Sie Vite verwenden, ansonsten ist Jest eine sichere Wahl.
Wie teste ich Code, der externe APIs verwendet?
Mocken Sie die externen API-Aufrufe mit vi.mock() oder Dependency Injection. Dies hält Tests schnell, zuverlässig und unabhängig von externen Diensten.
Welche Test-Coverage sollte ich anstreben?
Streben Sie 80% Coverage als allgemeines Ziel an. Konzentrieren Sie sich darauf, kritische Geschäftslogik und Fehlerpfade abzudecken, anstatt 100% Coverage hinterherzujagen.
Sollte ich private Methoden testen?
Nein. Testen Sie nur öffentliches Verhalten. Wenn private Methoden getestet werden müssen, considerieren Sie, sie in separate, testbare Einheiten zu refaktorieren.
Wie handhabe ich Datenbank-Tests?
Verwenden Sie eine separate Test-Datenbank und bereinigen Sie Daten zwischen Tests mit beforeEach. Erwägen Sie die Verwendung von Transaktionen für schnelleres Rollback anstatt das Leeren von Tabellen.
Was ist der Unterschied zwischen Unit- und Integrationstests?
Unit-Tests isolieren einzelne Funktionen oder Klassen. Integrationstests verifizieren, dass mehrere Komponenten zusammen funktionieren, einschließlich Datenbanken und APIs.