Javascript 酶测试-未定义ReferenceError事件
我有一个简单的反应组件,如下所示:Javascript 酶测试-未定义ReferenceError事件,javascript,enzyme,Javascript,Enzyme,我有一个简单的反应组件,如下所示: class AutoComplete extends Component { constructor() { super(); this.state = {userName: ""}; } _onChange(event) { this.setState({userName: event.target.value}); } render() { return ( <div className="aut
class AutoComplete extends Component {
constructor() {
super();
this.state = {userName: ""};
}
_onChange(event) {
this.setState({userName: event.target.value});
}
render() {
return (
<div className="autoCompleteContainer" >
<input id="searchUsers" ref="searchUsers" onChange={this._onChange.bind(this)}
placeholder="Enter string" value={this.state.userName} />
<div className="searchIcon fa fa-search" ></div>
</div>
);
}
}
我已经为同样的问题写了一份酶测试:
describe("Testing chart", () => {
let spyOnChange = sinon.spy(Autocomplete.prototype, "_onChange");
let wrapper = mount(<Autocomplete/>);
it("should show correct list when typed something", () => {
wrapper.update();
wrapper.find("#searchUsers").simulate("change", {target: {value: "us"}});
//expect(spyOnChange.called).toEqual(true);
});
});
当我运行测试时,我得到一个错误:ReferenceError:event未定义。我做错了什么?我在另一个React组件上进行了类似的测试,该组件有一个select标记,在那里运行良好。这里怎么了
我正在用摩卡做试跑者
谢谢 你确实有很多打字错误。Autocomplete应该是Autocomplete,因为这是我们类的名称。还有,你在用柴吗?对于chai,语法是to.Equal.true。你使用的语法。Equaltrue是jasmine的。不,我确实从中导入了自动完成,所以它是正确的。我使用的是mocha和expect库,语法也是正确的:您确实有很多拼写错误。Autocomplete应该是Autocomplete,因为这是我们类的名称。还有,你在用柴吗?对于chai,语法是to.Equal.true。你使用的语法。Equaltrue是jasmine的。不,我确实从中导入了自动完成,所以它是正确的。我使用的是mocha和expect库,语法也是正确的: