是否可以在 Jest 中测试对象更新,该对象封装在闭包中?我有一个像这样的简单函数:
function example(){
const store = {}
return {
updateStore(key, value){
store[key] = value
}
}
}
如果我需要测试updateStore
,我需要检查商店是否已更新,但我无法访问测试中的商店。嘲笑是这种情况的解决方案吗?
答案 0 :(得分:1)
要使其可测试,您需要导出商店或某些商店访问方法,以便测试可以做出断言。
如果您正在编写自己的商店,就像您在这里一样,那么这是个好主意。
如果您使用的是第三方商店实现,例如 Redux,则不应测试商店——您应该编写测试来模拟商店 API 并断言您的应用代码向商店发送了正确的消息。