反应:无法检查输入字段的类型

时间:2018-11-25 08:55:33

标签: reactjs jestjs enzyme

如何测试我的react组件的JSX中输入字段的类型?

例如,可以说以下是JSX的一部分:

<form>
    <input type="number" name="testfield" />
</form>

现在我要编写一个测试用例,该用例应检查输入字段的类型是否为数字?

2 个答案:

答案 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);