React-Jest测试返回API令牌错误

时间:2019-01-11 06:55:36

标签: reactjs jestjs enzyme

我进行了以下测试,但是出现以下错误:“ API:无法获取api令牌。”我尝试使用shallow代替mount,但是它返回相同的错误。

describe('CreateTemplateModal', () => {
  let props, el
  const modal = function () {
    if (!el) el = mount(<CreateTemplateModal {...props} />)
    return el
  }

  beforeEach(() => {
    props = {
      onSubmit: jest.fn().mockReturnValue(Promise.resolve()),
    }
    el = undefined
  })

  it('calls onSubmit when create template button is clicked', () => {
    const el = modal().setState({
      title: 'new template',
      jurisdiction: 'nsw',
      description: 'random',
    })
    el.find('#create-template-btn').simulate('submit')
    expect(props.onSubmit).toHaveBeenCalled()
  })
})

1 个答案:

答案 0 :(得分:0)

在模拟onSubmit函数时,我想在onSubmit函数中或单击#create-template-btn后未调用api。 由于您尚未共享CreateTemplateModal代码,因此建议在render()组件中检查构造函数或CreateTemplateModal函数。肯定已经调用了令牌API