D3 版本 4 中的单元测试转换

Unit Testing transitions in D3 version 4

在旧版本的 D3 中,您可以进行单元测试,在所有转换完成后通过像这样 d3.timer.flush() 刷新计时器来检查 D3 组件的状态。在 D3 版本 4 中,您需要 d3.timerFlush(),但这并没有为我完成所有的转换。仅完成第一个转换。

正在阅读 https://groups.google.com/forum/#!topic/d3-js/BioLtR9ixYE 我可以看到一种解决方案是使用像磁带这样的异步测试框架,但不幸的是我现在无法更改我的测试运行器。

想法?

D3 没有内置的方式来刷新过渡延迟或持续时间。你可以改变这些值并将它们设置为 0 以进行测试。

如果延迟或持续时间为 0,您仍然需要在测试中执行 d3.timerFlush(),但它现在会完成整个转换。