0

最近我接触到了 node.js 以及 express、mongodb 和 ejs 等包。我有几个问题:

作为学习目的,我创建了一个使用 express、mongodb 和 ejs的用户管理的 github存储库。我的所有功能都在routes/users.js文件中。我需要编写所有这些功能的测试用例。如何使用此示例创建测试驱动编程?

在我的文件路线app.js

app.get('/login', user.login);
app.post('/login', user.loginSubmit);

我需要为登录页面渲染和提交等编写不同的路由。如果还有一些 ajax 请求,那么app.js在考虑单个页面的路由时,我们在文件中有很多路由。是这样还是需要改变我的结构?

4

1 回答 1

1

我推荐你Mocha,它来自 expressjs 的同一个人。它支持您的代码的测试覆盖率、之前、之后的钩子,当然它还支持异步代码。

我将它与 should.js 甚至 chai.js 结合使用

mocha 中的测试看起来像,代码来自我自己的测试,我使用 superagent 来发出请求。

it('requests a permission with valid ticket', function (done){
        agent
            .post(route.server + '/preq')
            .set('Content-Type', 'application/json')
            .set('Authorization', 'Bearer ' + ACCESSTOKEN)
            .send({ticket: TICKET})
            .end(function (req,res) {

                res.should.have.property('statusCode').that.equals(201);
                var location = .....
                res.headers.should.have.property('location').that.is.equal(location);
                done();
            });
    })
于 2013-03-21T09:02:25.447 回答