javascript - 如何在 Jest 中测试内部商店更新?
问题描述
是否可以在 Jest 中测试对象更新,该对象封装在闭包中?我有一个像这样的简单功能:
function example(){
const store = {}
return {
updateStore(key, value){
store[key] = value
}
}
}
如果我需要测试updateStore
,我需要检查商店是否已更新,但我无法访问测试中的商店。嘲笑这种情况的解决方案吗?
解决方案
为了使其可测试,您需要导出存储或一些存储访问方法,以便测试可以做出断言。
如果您正在编写自己的商店,就像您在这里一样,那么这是一个好主意。
如果您正在使用第三方商店实现,例如 Redux,您不应该测试商店——您应该编写模拟商店 API 的测试并断言您的应用代码向商店发送正确的消息。
推荐阅读
- php - PHP - 附加的 html 字符串被切断
- php - 如何将 XML 转换为关联数组并控制将哪些属性用作名称值对?
- c# - 将geojson作为对象索引到geoshape中适用于Nest 5.0.1,但不适用于Nest 6.4.2?
- docker - 无法从 Apache-Superset 容器(tar 文件)映像启动容器(无法连接到 localhost 端口)
- c# - 为什么图形不显示?
- node.js - nodeJS议程在特定日期开始工作
- php - 如何在管理后台的产品上添加两个新的额外选项卡
- c# - SyntaxNode.ContainsDiagnostics 不适用于您自己的诊断?
- java - 错误“必需:找到的字符串:字符串?” Kotlin 和 Android Studio
- wpf - 如何展平 WPF 边框以制作无缝表面?