此文介绍在 Wallaby.js Living Testing 状态下怎么运用 Log。
主要有 3 种方法可以快速的在编辑器打印出输出结果。
没错,就跟浏览器中的 DevTool 一样直觉,用它就对了!
识别表达式 (Identifier expressions)另一种简单的方法是写上变量名。请注意只有简单的标识符表达式会自动打印就像范例中的 age
,而不是其他类型的表达式 (比如 age.test1() 或 age.test)。
它很好的支持用注解来打印出您任何想监控的事情。
插入 /*?*/
在任一行代码后会印出值。
您也可以在注解中打印任何 JavaScript 代码。比较特别的是 $
这个变量 ( 它是注解中被附加的表达式,理解成那行的执行的结果变量)。 请注意,注解并没有什么限制。例如,下方的注解正增加 d.e
的值,并返回 $
。
这种在 /* */
不同于 console.log
最大方便之处就是它有一些内建的智能配置。如果你放在 Promise
它会自动打印出 resolve 的结果,如果是放在 Observable
也会打印出来。
最后这个特殊的用法由于受到了编译器限制不适用于 CoffeeScript
。
快速查看代码各个部分的执行情况,对于应用进程中的瓶颈以及性能优化或许有帮助。插入特殊注解 /*?.*/
将呈现执行时间。
将注解放在循环内部显示出执行时间,放在外部可以看总执行时间。
组态默认值(?
)可以在 wallaby 组态被更改的。如下就会被改成 out:
:
module.exports = function (wallaby) {
return {
...
hints: {
commentAutoLog: 'out:'
}
};
};
Data Source: Introduction: Advanced Logging
原文:大专栏 Wallaby.js 进阶 Logging (05)