Смоделируйте мой собственный компонент с moduleNameMapper - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь смоделировать компонент в моих шутливых тестах. Я создал простой макет файла: /app/javascript/src/svgImportMock.js

var React = require('react')

module.exports = function(){
  console.log('I\'m being called');
  return <div />;
}

В моем файле конфигурации Jest у меня есть:

{
  ...
  "moduleNameMapper": {
    "(InputWithLabel)$": "<rootDir>/app/javascript/src/svgImportMock.js",
    "^react-native$": "react-native-web"
  },
  ...
}

И, наконец, мой шутливый тест использует InputWithLabel: приложение / JavaScript / SRC / компоненты / вход / InputWithLabel / index.test.js

import React from 'react'
import { shallow } from 'enzyme'
import InputWithLabel from './index'

describe('<InputWithLabel />', () => {
  it('renders given the required props', () => {
    const component = shallow(<InputWithLabel {...requiredProps} />)
    expect(component).toMatchSnapshot()
  })
})

К сожалению, он загружает реальный компонент InputWithLabel вместо фиктивного. Console.log не отображается.

Правильно ли настраивается moduleNameMapper?

...