如何在Jest和Enzyme中为React组件中使用的indexOf编写测试用例覆盖率

时间:2018-06-28 11:34:34

标签: reactjs jestjs enzyme

我正在用Jest和Enzyme编写我的react组件的测试用例。我有一个使用indexOf方法的组件。现在,当我运行Jest时,它表明该特定行的测试未找到。

enter image description here

覆盖率报告:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以创建一个返回arrError.indexOf(..)结果的函数,但是!!!!这不是一个好习惯。

首先,您不应该测试其他框架和库中的方法和函数,并且不要自己编写代码。如果您想进行任何测试,则应该测试React的每个生命周期方法,Math,Array等的每个方法。

第二,最好不要只是一个索引,而不必使用indexOf。

第一种方法(不是最好的方法)可以直接执行:

{arrError.map((error, index) => (<div key = {index}>{error}</div>))}

第二种方法,您不必只使用索引作为键(读this):

{arrError.map((error, index) => (<div key = {error.id}>{error.value}</div>))}

数组中的每个对象都应具有唯一的属性以用作键(您甚至可以使用字符串。如果error是字符串,并且它在数组中是唯一的,则可以将error用作键)。