用酶测试反应组分

时间:2017-02-08 16:40:46

标签: reactjs redux react-redux jestjs enzyme

说我有以下组件:

export default class CustomInput extends PureComponent {
  render () {
    return (
      <input type='text' value={this.props.value || ''} onChange={this.props.changeHandler} placeholder={this.props.placeholderValue} />
    )
  }
}

CustomInput.propTypes = {
  value: PropTypes.string,
  placeholderValue: PropTypes.string,
  changeHandler: PropTypes.func.isRequired
}

我试图测试如下:

test('input renders correctly', () => {
    const handler = jest.fn()
    const display = shallow(<CustomInput value='foo' placeholderValue='bar' changeHandler={handler}/>)
    })

这失败了:

TypeError: Cannot read property 'contextTypes' of undefined

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

事实证明问题出在我的导入上。具体来说,删除自动导入如下:

import CustomInput from './index'

而不是

import {CustomInput} from './index'

首先解释导致问题的原因非常受欢迎