Mocha中无法修复的错误

时间:2013-08-08 15:42:54

标签: javascript node.js express mocha should.js

我正在撰写一个博客平台,在网络服务器上测试时,一切都运行得非常好。但是,我正在尝试使用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 

有没有人对Mocha有很多经验可以帮助我?我不认为我可以使用before()beforeEach()语句简单地访问Mongo,因为测试的一部分是确保我的代码正确访问数据库。

1 个答案:

答案 0 :(得分:2)

您需要为实际测试调用it函数。 describe用于描述一组相关测试,然后在it回调中调用describe是实际测试。

describe("my module", function () {
  it("should require OK", function () {
      require("../my-module").should.exist
  });
});