ile değiştirmek prop test React: Sen className nitelik doğru pervane değişikliği güncellendi bu testin sonucuna görebileceğinizbileşen enzim
https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.md
class Foo extends React.Component {
render() {
return (
<input className={this.props.name} type="text" value={this.props.name} onChange={()=>{}} />
);
}
}
it('should pass and does not',()=> {
const wrapper = mount(<Foo name="foo" />);
expect(wrapper.find('.foo').html()).toBe(`<input class="foo" type="text" value="foo">`);
wrapper.setProps({ name: 'bar' });
expect(wrapper.find('.bar').html()).toBe(`<input class="bar" type="text" value="bar">`);
});
Result: Expected '<input class="bar" type="text" value="foo">' to be '<input class="bar" type="text" value="bar">'.
. Ancak girişin değeri yanlış olarak 'foo' olarak ayarlanmış kalır.
Bir girdideki değer özniteliğine yeni sahne alan bileşende bu değerin doğru bir şekilde nasıl değiştirildiğine dair herhangi bir fikir var mı?
Sadece bir not, OP sığ değil montaj kullanıyor, bu yüzden doğru belgeler olmalıdır http://airbnb.io/enzyme/docs/api/ReactWrapper /update.html; Başka bir not, mount için setProp işlem tamamlandıktan sonra yürüten ikinci bir geri arama, argüman alır: 'setProps (someProps, callback)' (ref: http://airbnb.io/enzyme/docs/api/ReactWrapper/ setProps.html) – nbkhope