反応ネイティブ0.30アプリをJest 14.1.0から15.1.0にアップグレードした後、私のテストのほとんど(すべてではない)でのエラー:Jest 14 - > 15アップグレード:要素タイプが無効です:文字列またはクラス/関数が必要ですが、未定義です
Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
at invariant (node_modules/fbjs/lib/invariant.js:38:15)
at instantiateReactComponent [as _instantiateReactComponent] (node_modules/react/lib/instantiateReactComponent.js:86:134)
at ReactCompositeComponentMixin.performInitialMount (node_modules/react/lib/ReactCompositeComponent.js:358:22)
at ReactCompositeComponentMixin.mountComponent (node_modules/react/lib/ReactCompositeComponent.js:241:21)
at Object.ReactReconciler.mountComponent (node_modules/react/lib/ReactReconciler.js:49:35)
at ReactCompositeComponentMixin.performInitialMount (node_modules/react/lib/ReactCompositeComponent.js:367:34)
at ReactCompositeComponentMixin.mountComponent (node_modules/react/lib/ReactCompositeComponent.js:241:21)
at Object.ReactReconciler.mountComponent (node_modules/react/lib/ReactReconciler.js:49:35)
at ReactCompositeComponentMixin.performInitialMount (node_modules/react/lib/ReactCompositeComponent.js:367:34)
at ReactCompositeComponentMixin.mountComponent (node_modules/react/lib/ReactCompositeComponent.js:241:21)
at Object.ReactReconciler.mountComponent (node_modules/react/lib/ReactReconciler.js:49:35)
at mountComponentIntoNode (node_modules/react/lib/ReactTestMount.js:47:31)
at ReactTestReconcileTransaction.Mixin.perform (node_modules/react/lib/Transaction.js:138:20)
at batchedMountComponentIntoNode (node_modules/react/lib/ReactTestMount.js:61:27)
at ReactDefaultBatchingStrategyTransaction.Mixin.perform (node_modules/react/lib/Transaction.js:138:20)
at Object.ReactDefaultBatchingStrategy.batchedUpdates (node_modules/react/lib/ReactDefaultBatchingStrategy.js:63:19)
これらはreact-test-renderer
を使用して、すべてのテストであり、一般的に次のようになります。
import 'react-native'
import React from 'react'
import Foo from '../Foo'
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer'
describe('<Foo />',() => {
it('renders correctly',() => {
const tree = renderer.create(
<Foo loading={false} dispatch={() => {}} />
).toJSON()
expect(tree).toMatchSnapshot()
})
})
このまったく同じテストファイルは私のコンポーネントの1のために働きます私の他のコンポーネントのほとんどを試してみると失敗します。これらのテストはすべてJest 14.1.0で正しく動作します。
エラーメッセージはあまり説明的ではありません。あなたは何が起こっているかも知っていますか?