如何测试我的react组件的JSX中输入字段的类型?
例如,可以说以下是JSX的一部分:
<form>
<input type="number" name="testfield" />
</form>
现在我要编写一个测试用例,该用例应检查输入字段的类型是否为数字?
答案 0 :(得分:0)
说你有:
<form >
<input type='text' name='name' id='name' onChange={this.handleChange}/>
</form>
您可以在类中创建一个函数,例如:
handleChange(event){
console.log(event.target.type) // Use this to compare the type.
if ( event.target.type == 'number' ) {// Your case }
}
您还可以使用event.target比较不同的属性,例如名称(event.target.name)等。
如果您在<form>
中有多个元素,首先比较目标的名称,以便知道哪个元素已更改,因为我们可能对每个元素使用相同的处理程序。
答案 1 :(得分:0)
您可以使用css选择器在组件中找到元素并声明其存在。
expect(wrapper.find('input[name="testfield"][type="number"]')).toHaveLength(1);