Próbuję dowiedzieć się, jak przetestować zdarzenie "onPress", korzystając z aplikacji Jest w aplikacji typu React-Native, dzięki czemu mogę się upewnić, że funkcja jest wywoływana.Jak zasymulować zdarzenie w teście na urządzeniu za pomocą Jest, Enzyme for React-Native
Przeszedłem przez dokumentację i Google, ale nie mogłem znaleźć dla niego rozwiązania w React-Native.
To co znalazłem, że ma pracować dla React-Native z enzyme
:
const mockFunc = jest.fn();
const component = mount(<MyComponent onPress={mockFunc} />);
component.simulate('press');
expect(mockFunc).toHaveBeenCalled();
Ale to nie działa. Wygląda na to, mount
nie działa i mogę to wyjście:
ReferenceError: document is not defined
Próbowałem z shallow
zamiast ale TouchableOpacity
nie jest uzyskiwanie świadczonych kiedy patrzę na wyjściu funkcji ... i masz zgadliście , to też nie działa. Nie jestem pewien, co robić.
Czy ktoś znalazł sposób testowania zdarzeń na React-Native?
Dzięki
Zakładam użyć enzym, więc 'p.simulate ('naciśnij');' powinno działać. –
enzym 'mount' nie wydaje się działać z React-Native i nie chcę używać' shallow'. "ReferenceError: dokument nie jest zdefiniowany" – alexmngn
Jaki typ zdarzenia próbujesz przetestować? Czy zmienia "stan"? Albo co próbują dokładnie przetestować? Więcej informacji na ten temat może pomóc. –