如何测试HoC中的组件?

时间:2018-03-28 14:15:18

标签: jest

我正在使用react-native-i18next来翻译我的应用程序中的多个组件,更具体地说,这个组件就是一个例子:

export const Header = translate('shareWith')(props =>
  (<View style={styles.header}>
    <TouchableHighlight onPress={props.onCancel}>
      <Text style={styles.headerAction}>
        {props.t('app:cancel')}
      </Text>
    </TouchableHighlight>

    <Text style={styles.screenTitle}>
      {props.t('screenTitle')}
    </Text>

    <TouchableHighlight onPress={props.onDone}>
      <Text style={styles.headerAction}>
        {props.t('app:done')}
      </Text>
    </TouchableHighlight>
   </View>));

我正在尝试测试我无法呈现组件的Header组件。

根据react-native-i18next文档,它建议模拟或添加t道具。两者都不奏效。

<Header {...props} t={() => {}} />

素:

jest.mock('react-i18next', () => ({
  // this mock makes sure any components using the translate HoC receive the t function as a prop
  translate: () => Component => props => <Component t={() => ''} {...props} />,
}));

0 个答案:

没有答案