← Alle AufgabenReact · Junior

Zähler

Schreib eine Komponente Counter. Sie zeigt eine Zahl in einem Element mit data-testid="count" und hat zwei Buttons: - verringert die Zahl um eins und + erhöht sie.

Der Anfangswert kommt in der Prop initial (standardmäßig 0). Hooks (useState und andere) sind ohne Imports verfügbar.

Tests (4)

  1. render(<Counter />);
    expect(screen.getByTestId('count').textContent).toBe('0');
  2. render(<Counter />);
    fireEvent.click(screen.getByRole('button', { name: '+' }));
    fireEvent.click(screen.getByRole('button', { name: '+' }));
    expect(screen.getByTestId('count').textContent).toBe('2');
  3. render(<Counter />);
    fireEvent.click(screen.getByRole('button', { name: '-' }));
    expect(screen.getByTestId('count').textContent).toBe('-1');
  4. render(<Counter initial={10} />);
    fireEvent.click(screen.getByRole('button', { name: '+' }));
    expect(screen.getByTestId('count').textContent).toBe('11');