模拟操作和amp;手动打电话给他们?
我已经使用酶安装了组件。
const wrapper = mount(
<Provider store={store}>
<CreateNavItemForm />
</Provider>,
)
const formWrapper = wrapper.find('CreateNavItemForm').first()
什么是什么区别,哪种方法更好?
const title = 'title'
1st:
formWrapper
.find('input')
.at(0)
.props()
.onChange(title)
第二:
formWrapper
.find('input')
.at(0)
.simulate('change', { target: { value: title } })
一个很好的问题,有一个区别,当您使用模拟检查时,您是模拟的。
此外,您正在检查您的组件是否正确接线:例如,考虑这是您的组件:
const SpecialInput = ({onChange}) => (<input name />);
此组件根本不使用onChange
,您的Prop使用测试将通过,但是在实际情况下,它无法正常工作。
添加时,当您使用Prop用法进行测试时,这意味着您知道组件的内部实现,因此,如果将来您将更改实现,而不是需要的功能更改测试,这是一种不良测试的气味。