【发布时间】:2022-01-01 10:23:07
【问题描述】:
我有一个带有按钮的 React 子组件
export function Banner({argumentSetter}){
function handleOnClick(){
argumentSetter(argument.READ);
}
return(
<div>
<Button onClick={handleOnClick}>
<Icon name="delete" type="filled">
Discard
</Icon>
</Button>
</div>
)
}
我的父组件中的argumentSetter定义如下,
const [argument,setArgument] = useState<Argument>(argument.EDIT);
argumentSetter = useCallBack((val)=>{
setArgument(val);
},[argument]);
return(
<div>
<Banner argumentSetter={argumentSetter}/>
</div>
)
如何使用 jest 获得 100% 的测试覆盖率。
【问题讨论】:
-
不确定上面的代码中是否大量使用了
useCallback。每次argument更新,argumentSetter也会更新。直接使用setArgument作为argumentSetter的道具可能只是有意义的,因为看起来过度优化实际上可能会降低性能。 -
我在子组件中设置argumentSetter的值并将其发送回父组件,这就是我以这种方式编写它的原因,我是开玩笑的新手,无法测试它。你能帮我测试一下吗?我现在不介意性能,因为我只担心测试子组件。
-
您在 Jest 中使用什么库进行 UI 测试?
-
我正在使用酶
-
您打算同时测试父组件,还是只测试子组件,即
Banner?
标签: reactjs jestjs mocking spy