Untitled

mail@pastecode.io avatar
unknown
typescript
25 days ago
1.8 kB
1
Indexable
Never
// Hier beginnt die Beschreibung der Test-Suite für die Button-Komponente.
// Eine Test-Suite gruppiert mehrere zusammengehörige Tests, um eine Komponente umfassend zu prüfen.
describe('Button Component', () => {

    // Testfall wird erstellt, um zu überprüfen, ob die Button-Komponente korrekt gerendert wird.
    test('renders correctly', () => {
        // Rendert die Button-Komponente mit dem Titel "Press me" und einem leeren onPress-Handler.
        const { getByText } = render(<Button title="Press me" onPress={() => {}} />);
        
        // Findet das Button-Element anhand seines Textes "Press me".
        const buttonElement = getByText('Press me');
        
        // Überprüft, ob das Button-Element gefunden und im gerenderten Output definiert ist.
        expect(buttonElement).toBeDefined();
    });

    // Testfall, um zu überprüfen, ob die onPress-Funktion korrekt aufgerufen wird, wenn der Button gedrückt wird.
    test('calls onPress correctly', () => {
        // Erstellt eine Mock-Funktion, die als onPress-Handler verwendet wird.
        const mockOnPress = jest.fn();
        
        // Rendert die Button-Komponente mit dem Titel "Press me" und dem Mock onPress-Handler.
        const { getByText } = render(<Button title="Press me" onPress={mockOnPress} />);
        
        // Findet das Button-Element anhand seines Textes "Press me".
        const buttonElement = getByText('Press me');
        
        // Simuliert, dass das Button Element gedrückt wird.
        fireEvent.press(buttonElement);
        
        // Überprüft, ob die Mock onPress-Funktion aufgerufen wurde, als der Button gedrückt wurde.
        expect(mockOnPress).toHaveBeenCalled();
    });
});
Leave a Comment