我正在编写一个博客平台,在 Web 服务器上进行测试时,一切都运行良好。但是,我正在尝试使用 Mocha 和 Should.js 编写单元测试,但我遇到了不应该出现错误的错误。例如,在下面的代码中,每当我尝试向回调函数(第三个参数)实际添加一些东西时,比如调用done()
或声明类似的东西fakeReq.entries.should.exist
,我都会收到一百万个错误:
describe("#load()", function(done){
entries.load(fakeReq,fakeRes,function(){},"my-first-post")
})
这是函数的样子:
exports.load = function(req,res,next,slug){
var User = mongoose.model('User')
Entry.load(req.param('year'), req.param('month'), slug, function (err, article) {
if (err) return next(err)
req.article = article
next()
})
}
然而,像这样让它看起来好像什么都没有经过测试。从我的命令行(请注意,上面的代码行在 中Entries
):
Entries
#show()
✓ should render something
EntrySchema
#from_fake
◦ should have a title: TEST
✓ should have a title
◦ should have a slug: test
✓ should have a slug
有没有人对摩卡有很多经验可以帮助我?我认为我不能简单地使用before()
orbeforeEach()
语句访问 Mongo,因为部分测试是确保我的代码正确访问数据库。