如何在酶中定义函数类型prop?

时间:2016-10-03 10:12:09

标签: reactjs mocha chai enzyme

我有一个需要函数类型prop的组件,有没有人试图浅显一个需要定义函数的组件?

{ "status": { "code": $value, "message": $value }, "data":{ "assign" { "schemaLayoutFileName" : $value "dataStoreTargetLocationText" : $value } } }

这是功能定义

handleClick: React.PropTypes.func.isRequired

这是我的测试

handleClick: function(){
    this.props.handleClick(this.props.conversation)
      }  

如何在我的酶测试中使用这个函数prop ???

1 个答案:

答案 0 :(得分:1)

我使用模拟进行测试。 Jest / Sinon有嘲弄的支持。使用Jest和Enzyme编写的测试示例如下:

describe('Add', () => {
  let add;
  let onAdd;

  beforeEach(() => {
    onAdd = jest.fn();
    add = mount(<Add onAdd={onAdd} />);
  });

  it('Button click calls onAdd', () => {
    const button = add.find('button').first();
    const input = add.find('input').first();
    input.simulate('change', { target: { value: 'Name 4' } });
    button.simulate('click');
    expect(onAdd).toBeCalledWith('Name 4');
 });

});

更多信息可在CodeMentor tutorial

中找到