我想测试按钮点击reactcript类的react组件。 这是组件代码:
export default class Send extends Component ... {
constructor(super) {...}
selectAll() {...}
render() {
<button id="selectAll" onClick={this.selectAll.bind(this)}>Add<button/>
}
}
我的测试是:
it('should select all if selectAll button is clicked', () => {
const wrapper = shallow(<Send {...props} />);
const selectAll = sinon.spy(wrapper.instance(), 'selectAll');
const selectAllButton = wrapper.find('#selectAll');
selectAllButton.simulate('click');
expect(selectAll.calledOnce).to.equal(true);
});
这就是我得到的:
AssertionError: expected false to equal true
有什么想法吗?感谢
答案 0 :(得分:2)
好的,我发现了问题所在。我不得不添加
wrapper.instance().forceUpdate();
在声明sinon.spy(...)之后,现在它正常工作。