2016-10-03 76 views
2

我有一個組件需要一個函數類型prop,有沒有人試圖淺化一個需要函數定義的組件?如何在酶中定義一個函數類型prop?

handleClick: React.PropTypes.func.isRequired

這是函數的定義

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

這是我的測試

wrapper=shallow(<ConversationItem conversation={conversation1} active={true}/>); 

怎麼會在我的測試酶使用此功能道具???

回答

1

我使用模擬測試。 Jest/Sinon有嘲弄的支持。測試使用玩笑和酶活寫入的一個例子是:

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找到。

相關問題