我刚从我所有的测试工作的前导航迁移。我按照指南进行操作,并阅读了文档。该应用程序功能齐全,但我需要让测试正常工作。一切看起来都很好,但错误不会让我运行任何测试。似乎是编译时的错误,其中模块未定义。但是我什至无法记录导入包的值。
这是抛出的代码:
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 并清理了缓存。有人有线索吗?