Как правильно проверить значение события onScroll в React Native? - PullRequest
1 голос
/ 01 мая 2019

В моем коде много анимаций, которые запускаются из одного и того же animationRange, сгенерированного из того же FlatList onScroll.Все они работают так, как задумано, но мне нужно добавить тестовое покрытие для того места, где вызываются анимации.К сожалению, я не знаю, как смоделировать animationRange.

Я пытался смоделировать animationRange примерно так:

const mockInterpolation = jest.fn();
const mockAnimationRange = jest.fn().mockImplementation(() => {
  return { interpolate: mockInterpolation }
});

, но он просто возвращает ошибку при тестировании, и я 'Я уверен, что это только потому, что я не знаю, как правильно смоделировать это значение.

Here is the Flatlist that sets the animationRange
--------------------
    <FlatList
      onScroll={Animated.event([{
        nativeEvent: { contentOffset: { y: animationRange } },
      }],
      {
        useNativeDriver: true,
      })}
    />

Это значение animationRange, по-видимому, мне нужно высмеивать.И он должен уметь обрабатывать следующее:

export const AnimateScore = (animationRange) => {
  return {
    transform: [
      {
        translateX: animationRange.interpolate({
          inputRange: [0, (100)],
          outputRange: [0, screenWidth * 0.125)],
          extrapolate: 'clamp',
        }),
      },
    ],
  };
};

Все, что я ищу, - это правильный способ смоделировать это значение или проверить .interpolate для значения смещения onScroll.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...