Superagent res.text未定义

时间:2014-05-15 14:16:24

标签: node.js express mocha superagent

我正在尝试使用Mocha和SuperAgent的TDD方法,但是当来自SuperAgent的res.text以某种方式未定义时卡住了。

测试:

it('should return 2 given the url /add/1/1', function(done) {
        request
            .get('/add/1/1')
            .end(function(res) {

                res.text.should.equal('the sum is 2');
                done();
            });
    });

代码:

router.get('/add/:first/:second', function(req, res) {
    var sum = req.params.first + req.params.second;
    res.send(200, 'the sum is ' + sum);
});

1 个答案:

答案 0 :(得分:2)

正如评论中提到的那样,你可能不会首先得到200.

我总是在我的.expect(200)之前添加.end以使用更有意义的消息失败,如果是这样的话:

it('should return 2 given the url /add/1/1', function(done) {
        request
            .get('/add/1/1')
            .expect(200)
            .end(function(res) {

                res.text.should.equal('the sum is 2');
                done();
            });
    });