我想对我的react组件中的一个函数进行模拟测试,例如我有。
const app=()=>{
const [state,setState]=useState("");
const func=(item)=>{
setState(item)
}
return(
<div>{state}<div/>
)
}
我想用jest和酶来测试这个叫做 "func "的函数。
let wrapper=mount(<App/>)
test("testing",()=>{
let item="test"
//mock function -> func(item)
// how to mock that function
}
)
谁能帮我解决一下语法问题?
虽然你可以在基于类的组件中窥探和模拟方法属性的结果,但你不能对功能组件使用同样的方法。
你应该做的是触发或模拟特定的行为来调用 func
方法,然后测试预期的行为(即是否调用了props方法,或DOM元素的变化等)。
如果它是由 useEffect()
钩子,你必须通过更新道具来触发该钩子(使用 设置道具),在依赖关系数组中使用。