摩卡测试超过了超时

时间:2014-07-15 21:13:51

标签: node.js mocha

出于某种原因,我得到了一个mocha超时,虽然响应返回202成功...我还有其他几个以完全相同的方式编写并且没有超时的测试:

describe('PUT /api/editTenant', function() {
        it('it should change an existing tenant', function(done) {
            should.exist(test_tenant.tenant_id);
            var body = { 
                email : "test@example.com", 
                message: "Hello!", 
                tenant_id : test_tenant._id, 
                searchOpts : {} 
            };
            request(host).put('/api/edit').send(body).end(function(err, res) {
                if(err) throw err;
                res.should.have.status(202);
                done();
            });
        });
});

以下是正在测试的代码:

exports.editTenant = function(req, res) {
    Tenant.findOneAndUpdate({ _id : tenant.tenant_id }, {
        email           : req.body.email,
        phone           : req.body.phone,
        searchOpts      : req.body.searchOpts,
        contactMessage  : req.body.message
    }, function(err, affected) {
        if(err) res.json(401, err);
        res.json(202, { updated : affected } );
    });
};

我再次进行了几次测试,并且没有超时......问题是我做了一个不是帖子吗?

1 个答案:

答案 0 :(得分:0)

你应该设置mocha的超时

  1. this.timeout(20000); // 20秒您可以拥有任何值

    示例:您可以更改代码,如

  2. describe('PUT / api / editTenant',function(){

    it('it should change an existing tenant', function(done) {
    
       this.timeout(20000); // add this code        
    
        should.exist(test_tenant.tenant_id);
    
    1. mocha yourCode.js -t 10s //在运行代码时添加-t参数