我的node.js代码中具有try-catch结构,如下所示:
try {
//do some code
}
catch(e) {
logError(e);
}
我感觉这种方法不是很好,但是最大的问题是单元测试(mocha和chai)和代码覆盖率(nyc)。我只能通过在工作代码中引发异常来测试catch部分,但是在这种情况下,我将需要代码内部的标记结构来管理流程,例如:
try {
if(testingFlag)
throw new Error('Test error');
//do some code
}
catch(e) {
logError(e);
}
仅在这种情况下,我才能更改脚本方向并测试此部分。 基本上,问题是:是否有最佳方法以适当的方式处理异常,语义和代码错误,从而能够进行单元测试和代码覆盖而没有任何问题? 谢谢。