我正在使用sinon在nodejs中进行单元测试。
如何测试task1.js的else部分?假设我的计数不为0,我将继续进行自己的处理,否则我将结束我的任务。
我可以模拟我的getbookForUpdateCount返回计数值,但是接下来是什么?
我如何确保采用该路径?
Task1.js:
function updateInfo() {
bookDao.getbookForUpdateCount(updateCountParams, function (results) {
console.log("Step 1: " + results[0].RECCOUNT + " for updates!".blue);
//1. Get count. If > 0, proceed. else end task.
if (results[0].RECCOUNT > 0) {
...
//some other functions
}
else {
//no record to be processed.
return;
}
});
}
答案 0 :(得分:0)
我以以下方式理解您的问题:您要测试的功能将在某些情况下产生作用,或者只是“不执行任何操作”。现在,您要测试软件运行到“不执行任何操作”路径的情况。但是,您不确定如何在测试代码中验证该函数没有执行任何操作。
简单来说就是验证。只是为了验证没有任何效果。例如,如果效果是对全局变量的修改,那么无效就是全局变量保持其值。如果效果是调用了某个对象上的方法,则无效的是未调用相应的方法-模拟库提供了针对这种情况的检查,即检查某个函数是否为 not < / em>调用。如果影响是将一些数据输入到数据库中,那么无效是,在数据库中找不到相应的数据(尽管这不是单元测试示例,而是集成测试示例)