_由:sfnelson_ 评论
在我公司发布 cljs.test 之前,我们维护了一个 clojure.test 的内部端口,它通过向 {{do-report}} 调用添加来自 {{&form}} 的源元数据,从而比 cljs.test 提供了更好的报告。这种方法对于内部使用来说很棒,但对于 cljs.test 可能不合适,因为它可能会减少 {{assert-expr}} 之间的 clojure 和 clojurescript 的可移植性。另一种方法是将源元数据动态绑定到由 {{try-expr}} 生成的主体中。如果您能提供一些关于您首选方法的指示,我愿意实现并贡献代码。
我们的 {{assert-expr}} 版本还注入了一个 'reporter 函数',即 {{(function(a,b,c){a.apply(b,c)})}},我们会在报告时调用它,例如 {{(reporter (.-debug js/console) js/console args)}}。这导致 Chrome 控制台输出右侧的可点击链接链接到测试表达式的源映射位置,而不是报告函数。