Решено в соответствии с подходом на импорт, указанный в ссылке выше

аюсь настроитьстолпотворение-плагин-ReWire так что в моих тестах Jest я могу создать небольшой снимок теста для компонента-оболочки вместо огромного со всеми дочерними компонентами в нем.

Настройки кажутся правильными, но я получаю следующую ошибку:

ReferenceError: Wrapper is not defined
  at _get_original__ (app\components\Wrapper\tests\index.te
st.js:22:2168)
  at _get__ (app\components\Wrapper\tests\index.test.js:22:
1912)
  at Suite.<anonymous> (app\components\Wrapper\tests\index.
test.js:8:82)
  at Object.<anonymous> (app\components\Wrapper\tests\index
.test.js:6:1)
  at process._tickCallback (internal\process\next_tick.js:103:7)
package.json
"babel": {
    "presets": [
      [
        "latest",
        {
          "es2015": {
            "modules": false
          }
        }
      ],
      "react"
    ],
    "env": {
      "test": {
        "plugins": [
          "babel-plugin-rewire",
          "transform-es2015-modules-commonjs",
          "dynamic-import-node"
        ]

   ...

  "devDependencies": {
    ...
    "babel-plugin-rewire": "^1.1.0",
webpack.base.babel.js

(общая конфигурация веб-пакета - то же самое в webpack.basetest.babel.js)

module: {
    loaders: [{
      test: /\.js$/, // Transform all .js files required somewhere with Babel
      loader: 'babel-loader?plugins=babel-plugin-rewire',
      exclude: /node_modules/,
      query: options.babelQuery,
    },
Мой тест

для компонента Wrapper, который содержит дочерний компонент Header:

import React from 'react';
import { shallow } from 'enzyme';

import Wrapper from '../index';

describe('<Wrapper />', () => {

  console.log('Debugging >>> ' + JSON.stringify(Wrapper)); // Wrapper is defined but blows up here @@

  // beforeEach(() => {
  //   Wrapper.__Rewire__('Header', class extends React.Component {
  //     render(){ return <div {...this.props}>TEST only the wrapper!!</div> }
  //   });
  // })

  // it('renders correctly', () => {
  //   const tree = shallow( <Wrapper myProps={testData.myProps} /> );
  //   expect(tree.html()).toMatchSnapshot();
  // });

  ...
});

Спасибо

ОБНОВИТЬ: Если я закомментирую в Wrapper JSX, где используется заголовок (даже оставляя импорт для заголовка как есть)Wrapper.__Rewire__ становится определенным и, следовательно,beforeEach больше не выдает ошибок.

Ответы на вопрос(0)

Ваш ответ на вопрос