我正在尝试使用 chai 和 Mocha 为 Mongoose 模型函数编写单元测试用例。
模型功能
function getDetails(parameter, fn) {
Model.findOne({
parameter: parameter
})
.lean()
.exec(function(err, document) {
if (err) {
return fn(err, null);
}
return fn(err, document);
});
};
单元测试用例
describe('→ Database model functions.', function() {
it('getDetails() - should fetch and return details from database', function(done) {
model.getDetails(parameter, function(err, document) {
expect(err).to.be.null;
expect(document).not.to.be.null;
expect(document).to.be.an('object');
done();
});
});
});
使用 运行代码覆盖率报告后istanbul
,我的分支覆盖率分数很低,因为未覆盖以下块。
if (err) {
return fn(err, null);
}
据我了解,这对于未处理的异常(例如数据库关闭等)有点笼统。此错误也被设计为冒泡,因此应用程序崩溃,然后我可以修复它。我如何编写一个测试用例来解决这个问题?或者更确切地说,我是否应该尝试涵盖这一点?