Error.captureStackTrace
By admin
一直用各种测试库都会遇到一种问题,当一些抽象的功能函数throw error的时候,
错误会提示到该函数内,而不是调用函数的地方。
但各种测试库的断言函数就不会有这种问题,会直接提示到调用行。
最近想起了这个问题,查了一下发现了Error.captureStackTrace
这个方法。
是v8引擎自带,并不是es标准语法,见文档。
例子看了看,半明白,自己实验一下才知道具体使用场景。
应该是配合自定义的Error类来用的。
Error.captureStackTrace
的第二个参数就应该放需要被忽略的断言函数或想要被忽略的自定义函数。
assert库里的fail方法,就是该功能的一个兼容封装,可以直接使用。