すべてのテストが機能する元ナビゲーションから移行したところです。私はガイドに従い、ドキュメントを読みました。アプリは完全に機能しますが、テストを機能させる必要があります。すべて問題ないように見えますが、このエラーにより、テストを実行できません。モジュールが定義されていないトランスパイル時のエラーのようです。ただし、インポートされたパッケージの値をログに記録することさえできません。
これはスローするコードです:
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 を削除し、キャッシュを消去しました。誰も手がかりを持っていますか?