1
我的測試:爲什麼我的按鈕在我的測試中未定義?
describe('button component',() => {
it('should toggle off when clicked',() => {
let component;
component = ReactTestUtils.renderIntoDocument(<Search />);
let searchbtn = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'button');
ReactTestUtils.Simulate.click(searchbtn);
console.log(searchbtn, 'search button***'); //UNDEFINED
expect(searchbtn.calledOnce).to.equal(false);
})
});
這是我的搜索組件:
render() {
return (
<div className="search">
<button className="searchButton" onClick={this.handleSearch}>{this.state.on ? 'ON' : 'OFF'}</button>
</div>
);
}
我需要刺探,或嘲笑呢?還是有更好的方法來測試反應中的按鈕?
你如何找到一個特定的按鈕?但葉爽很有道理 –
@Theworm你可以使用酶中可用的選擇器(類似於CSS選擇器 - 通過id,類名稱,元素類型,道具),例如我已經使用const button = searchWrapper.find('button')。 (); – WitVault
好酷。 .first()似乎很痛苦,如果你有很多按鈕,但我會看看文檔。謝謝:) –