Помогите мне, пожалуйста ...
У меня есть пользовательский компонент React Native, который получает реквизит onPress и передает его onPress в TouchableNativeFeedback. Я делаю юнит-тестирование с помощью @ testing-library / Reaction-native. Я пытаюсь шпионить за OnPress, чтобы проверить, срабатывает ли он при касании TouchableNativeFeedback. Каким-то образом шпионская функция не вызывается, когда я имитирую событие нажатия на кнопку. Есть ли какая-либо ошибка в моей реализации?
FI: Это происходит только в TouchableNativeFeedback, но отлично работает с Button
Вот моя реализация:
Button.js
const Button = ({onPress, label}) => (
<TouchableNativeFeedback onPress={onPress} testID="button">
<View style={someStyling}>
<Text>{label}</Text>
</View>
</TouchableNativeFeedback>
)
export default Button
Button.test.js
it("Fire onPress props when button pressed", () => {
const mockFn = jest.fn();
const { getByTestId } = render(<Button onPress={mockFn} />);
const button = getByTestId("button");
fireEvent.press(button);
expect(mockFn).toHaveBeenCalled();
});