我有这个测试:
it('calls addTheItem when clicked', () => {
wrapper.find('.addBtn').simulate('click')
expect(addTheItemStub.called).to.equal(true)
});
这是我的代码
<button
className="addBtn"
onClick={() => {this.addTheItem(inputValue); this.clearInput()}}
>
Add Item
</button>
这个代码适用于我玩它的时候。只是测试没有通过。
也在我的beforeEach中:
const addTheItemStub = sinon.spy();
const addItemStub = sinon.spy();
const usingEnterKeyStub = sinon.spy();
beforeEach(() => {
wrapper = shallow(
<Container
addTheItem={addTheItemStub}
addItem={addItemStub}
items={itemsStub}
usingEnterKey={usingEnterKeyStub}
/>
)
});
我正在抄袭它。我期待调用存根。
但它期望它不会被叫或假。我做错了什么?
答案 0 :(得分:0)
我在按钮的onClick处理程序中看到,您将方法称为this.addTheItem
和this.clearInput
。但是您将这些方法的存根作为道具传递给父Container
元素。
除非您使用道具中的方法,即this.props.addTheItem
和this.props.clearInput
,否则不会调用存根。