Я пытаюсь смоделировать щелчок по элементу dom в компоненте реакции и утверждаю, что на основе этого вызывается шпион. Вот соответствующая часть теста (используя карму, мокко, чай, синон, но я уверен, что это не имеет значения здесь):
const selectSpy = sinon.spy();
const component = TestUtils.renderIntoDocument(<SomeComponent onSelect={selectSpy} />);
TestUtils.Simulate.click(TestUtils.scryRenderedDOMComponentsWithTag(component, 'li'));
expect(selectSpy.called).to.be.ok;
и вот компонент реакции:
render() {
let { title , data, onSelect } = this.props;
console.log(this.props.onSelect); // This correctly logs out the spy
return (
<div>
<ul>{data.map((row, i) => {
return <li onClick={this.handle.bind(this,row)} key={i}>{row.title}</li>; })}
</ul>
</div>
)
}
handle(row) {
this.props.onSelect(row);
}
Тест выполняется, но результатом является неудачный тест с сообщением «Ожидается, что ложь будет правдой». Я не вижу ничего плохого в коде - ошибок нет, и мой шпион передается правильно. Есть ли что-то еще, что мне нужно сделать?