android - 类型错误 : Cannot read property 'DETECTION_MODE' of undefined - 'react-native-awesome-card-io'

标签 android ios react-native jestjs enzyme

我正在这个文件中运行我的测试套件:

import React from 'react'

import { PaymentDetails } from '../../../../app/screens/Account/components'
import { snapshot } from '../../../utils'


describe('PaymentDetails', () => {
  const paymentMethod = {
    accountName: 'Test Account',
    expMonth: 11,
    expYear: 2021,
    number: '4111111111111111',
    type: 'Visa',
    preferred: true,
  }

  test('snapshot = paymentDetails not empty', () => {
    snapshot(shallow(<PaymentDetails navigation={paymentMethod} />))
  })

  test('snapshot = paymentDetails empty', () => {
    snapshot(shallow(<PaymentDetails navigation={{}} />))
  })

我收到这个错误:

enter image description here

我需要模拟这个库吗?我已经尝试过,但没有太多帮助。

最佳答案

将文件添加到 package.json 中的 moduleNameMapper 为我解决了这个问题。

"jest": {
  "preset": "react-native",
  "transform": {
    "^.+\\.(js)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
  },
  "moduleNameMapper": {
   "react-native-awesome-card-io": "<rootDir>/node_modules/react-native-awesome-card-io/CardIOView.ios.js"
}

如果您希望所有模块都被 stub ,您可以编写一个正则表达式来匹配这些文件名。

关于android - 类型错误 : Cannot read property 'DETECTION_MODE' of undefined - 'react-native-awesome-card-io' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53989149/

相关文章:

android - 是否可以使用适用于 Android TV 的 Google Maps Geolocation API?

android - 无法在 AndEngine 中加载 Sprite

php - IOS app无法显示汉字

IOS:如何显示和播放来自 JSON 的视频

iOS - 是否可以通过编程方式调用电话来阻止任何类型的拨出电话声音?

android - 停留在开始 Intent 主要 Activity react native 应用程序

Android 自定义相机质量

android 在外部浏览器中打开链接

react-native - react 导航如何更改底部选项卡的语言

javascript - 在 JSX 中映射第二个数组