typescript - 在单元测试中为 vue 组件提供 d3
问题描述
我有一个调用d3.zoomIdentity.translate(0, 0).scale(1)
. 这导致一个TypeError: Cannot read property 'scale' of undefined
. 我目前正在嘲笑 d3 jest.mock('d3')
。当然,我可以继续模拟 d3 函数,就像我对商店所做的那样:
jest.mock('@/store', () => {
return {
turningStore: {
get maximumDrawingArea() {
return {
diameter: 15,
length: 10,
}
},
},
}
})
问题是我必须用这种方法模拟的功能数量。
有没有机会模拟 d3 函数而不必为每个函数实际编写一个模拟?也许只使用真正的 d3 库?
编辑:我正在考虑稍后做一些快照测试,但要让它们工作,我们需要真正的 d3,而不是模拟的,因为我们实际上是用 d3 绘制元素,对吧?所以也许不嘲笑 d3 符合我们的最大利益。只要 d3 没有在我们的测试中使用真实的 d3 引入制动变化,就不会对它们产生负面影响。
任何能让创建涉及 d3 的单元测试更容易的东西都将不胜感激。谢谢!
解决方案
推荐阅读
- powershell - Get TFS Query Results Using Powershell
- ios - MKPolygon covering pole
- apache-spark - 带有 Pyspark 3.2、Hadoop 3.3.1 的 S3FS 连接器挂在 spark.read.load() 上
- angular - 无法绑定到“ngModel”,因为即使在 app.module.ts 中包含 FormsModule 后,它也不是“输入”的已知属性
- ios - 如何将图像更改为结构?SwiftUI
- vim - 有没有办法用键绑定关闭 Vim 内置终端?
- wordpress - 如何在 VScode 上本地预览 wordpress 网站?
- java - Spring Boot 无法从 redis 缓存序列化程序中读取数据。SerializationException:无法反序列化
- c# - DynamoDb SaveAsync 与运行时生成的对象
- python - Pandas 获取列中每个唯一值的行数