【发布时间】:2013-07-21 02:30:49
【问题描述】:
我目前在一个项目中,我正在使用各种库(大部分时间是 d3 和 nvd3)构建图表。我想构建一组自动化测试,看看我输入到我正在制作的 API 中的数据是否真的正确地吐出了数据。
您实际上是如何测试图表的?单元测试是实现这一目标的正确方法,还是目测图表是实现这一目标的唯一方法?
【问题讨论】:
-
您可以将生成的图表与“预期的”图表进行比较(例如比较 DOM 树),但这可能会根据您的要求而变得非常脆弱。
-
Selenium 也可以用来自动比较截图;这将更有用:“这是否输出与一周前相同的图表”而不是“此图表代码是否会正确显示它可以发送的所有类型的数据”stackoverflow.com/questions/14284915/…
-
在某种程度上,SVG 标记提供了一个抽象层(即抽象出实际的渲染)。所以这里的一个选项是测试生成的 SVG,而不是屏幕截图 - 这应该不那么脆弱,因为它不会因 CSS 更改或抗锯齿问题而中断。
标签: javascript unit-testing charts d3.js