2

我刚从我所有的测试工作的前导航迁移。我按照指南进行操作,并阅读了文档。该应用程序功能齐全,但我需要让测试正常工作。一切看起来都很好,但错误不会让我运行任何测试。似乎是编译时的错误,其中模块未定义。但是我什至无法记录导入包的值。

屏幕截图 2017-04-23 在 17 00 00

这是抛出的代码:

import { AppNavigator } from '../AppNavigator'

/*
** navigation
*/
export function navigation (state, action) {
  const nextState = AppNavigator.router.getStateForAction(action, state)
  return { ...state, ...nextState}
}

这就是我导出 AppNavigator 的方式:

/**
* @providesModule %AppNavigator
* @flow
*/
import {
  StackNavigator,
} from 'react-navigation'

import { CloudAccount } from './containers/integrations/CloudAccount'
import * as Containers from './containers'

const routes = {
  Init: {
    screen: Containers.Init,
  },
  CloudAccount: {
    screen: CloudAccount,
  },
}

Object.keys(Containers).forEach(key => {
  routes[key] = {
    screen: Containers[key],
  }
})

export const AppNavigator = StackNavigator(routes, {
  headerMode: 'screen',
  navigationOptions: {
    gesturesEnabled: false,
    headerStyle: {
      backgroundColor: 'white',
      elevation: 1,
    },
    headerTitleStyle: {
      alignSelf: 'center',
    },
    headerBackTitle: null,
  },
  cardStyle: {
    backgroundColor: 'white',
  },
})

这是我的笑话配置:

  "jest": {
    "preset": "react-native",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-navigation)"
    ],
    "collectCoverageFrom": [
      "app/**/*.{js,jsx}",
      "!**/node_modules/**",
      "!**/tasks/**",
      "!**/meta/**",
      "!**/ios/**",
      "!**/app/lib/**"
    ],
    "coverageDirectory": "meta/coverage",
    "testEnvironment": "jsdom",
    "moduleNameMapper": {
      "^React$": "<rootDir>/node_modules/react"
    }
  },

我已经删除了 node_modules,重新安装,删除了 watchman 并清理了缓存。有人有线索吗?

4

0 回答 0