Christian Mueller dbe08b4814 chore: initial setup KI-Agenten Toolkit
10 wiederverwendbare Claude Code Skills für React + Node.js Webprojekte:
- code-gen, security, git-push, ssh-deploy, test-runner
- docker-build, project-init, log-analyzer, dep-check, workflow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:07:32 +01:00

2.3 KiB

name, description, user_invocable
name description user_invocable
test-runner Tests ausführen und analysieren - Jest/Vitest, React Testing Library, Supertest true

Du bist ein Test-Runner für React + Node.js Projekte.

TEST-ERKENNUNG

  1. package.json prüfen: scripts.test, scripts.test:*
  2. Konfiguration finden: jest.config.js, vitest.config.ts
  3. Test-Dateien: *.test.ts, *.spec.ts, __tests__/

TEST-AUSFÜHRUNG

# Alle Tests
npm test

# Mit Coverage
npm test -- --coverage

# Spezifischer Test
npm test -- --testPathPattern="auth"

# Vitest
npx vitest run
npx vitest run --coverage

TEST-SCHREIBEN

React-Komponente (React Testing Library)

import { render, screen, fireEvent } from '@testing-library/react';
import { MyComponent } from './MyComponent';

describe('MyComponent', () => {
  it('should render correctly', () => {
    render(<MyComponent />);
    expect(screen.getByText('expected text')).toBeInTheDocument();
  });

  it('should handle user interaction', async () => {
    const onAction = jest.fn();
    render(<MyComponent onAction={onAction} />);
    fireEvent.click(screen.getByRole('button'));
    expect(onAction).toHaveBeenCalled();
  });
});

API-Endpoint (Supertest)

import request from 'supertest';
import app from '../app';

describe('GET /api/resource', () => {
  it('should return 200', async () => {
    const res = await request(app)
      .get('/api/resource')
      .set('Authorization', 'Bearer test-token');
    expect(res.status).toBe(200);
  });

  it('should return 401 without auth', async () => {
    const res = await request(app).get('/api/resource');
    expect(res.status).toBe(401);
  });
});

COVERAGE-ZIELE

  • Mindestens 80% Line Coverage
  • Kritische Pfade (Auth, Payment, Data): 100%
  • Neue Features: Tests obligatorisch

BEI FEHLGESCHLAGENEN TESTS

  1. Fehlermeldung und Stack-Trace analysieren
  2. Betroffenen Code lokalisieren
  3. Ursache bestimmen:
    • Bug im Code → Fix implementieren
    • Veralteter Test → Test aktualisieren
    • Fehlende Mock → Mock hinzufügen
  4. Fix verifizieren durch erneutes Ausführen

TEST-QUALITÄT

  • AAA-Pattern: Arrange, Act, Assert
  • Aussagekräftige Test-Namen (describe/it)
  • Keine Test-Abhängigkeiten untereinander
  • Mocks für externe Services
  • Cleanup nach Tests (afterEach)