Шутка, не использующая ручной макет - PullRequest
0 голосов
/ 26 ноября 2018

Я использую приложение Create React.Я создал тест Jest, который использует ручной макет.Тест отображает мой компонент приложения, и я пытаюсь смоделировать вложенный компонент.Он по-прежнему выбирает оригинальный компонент BarChart.

containers/__tests__/App.js
import React from 'react';
import { shallow, mount } from 'enzyme';

const barChartPath = '../../components/d3/BarChart/BarChart';

describe('App', () => {
  beforeEach(() => {
    const mockBarChart = require('../../components/d3/BarChart/__mocks__/BarChart').default;
    jest.mock(barChartPath, () => mockBarChart);
  });

  it('renders without crashing - deep', () => {
    const App = require('../App').default;
    mount(<App />);
  });
});

Я пытался использовать

import BarChart from '../../components/d3/BarChart/BarChart';
...
 beforeEach(() => {
    jest.mock(BarChart) 

, но это тоже не сработало.

Я использую требуемыйоператор в beforeEach из-за проблемы, описанной в Ручная макет не работает с Jest

setupTests.js

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

configure({ adapter: new Adapter() });
...