首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Chai进行单元测试

使用Chai进行单元测试
EN

Stack Overflow用户
提问于 2017-03-03 04:20:06
回答 1查看 115关注 0票数 0

我使用chai进行了以下单元测试,但是,即使我更改了端点,单元测试也会通过。我不知道这怎么可能?

代码语言:javascript
复制
    var chai = require('chai');
    var chaiHttp = require('chai-http');
    var mongoose = require('mongoose');
    var server = require('./index.js');

    var should = chai.should();
    chai.use(chaiHttp);

    var agent = chai.request.agent(server.app);
    var Cookies;

    describe('integration tests for server component', function() {

      before(function (done) {
        //mongoose.createConnection('mongodb://someserver');
        chai.request(server.app)
           .post('/user/login')
           .send({email:'john@gmail.com'})
           .end(function(err, res){
             res.should.have.status(200);
             Cookies = res.headers['set-cookie'].pop().split(';')[0];
           });
        done();
      });
it('should GET /user/loggedin with status 200', function(done) {
    chai.request(server.app)
      .get('/user/loggedin')
      .end(function(err, res){
        res.should.have.status(200);
      });

    done();
  });

  it('should POST /user/isregistered with status 200', function(done) {
    var user = {
      email: 'John@gmail.com'
    };
    chai.request(server.app)
      .post('/user/isregistered')
      .send(user)
      .end(function(err, res){
        res.should.have.status(200);
      });
    done();
  });

  it('should GET /allskills', function(done){
    chai.request(server.app)
    .get('/user/allskills')
    .end(function(err, res){
      err.to.be.null;
      res.to.have.status(200);
      res.should.be.json;
      res.body[0].to.have.property('_id');
      res.body[0].to.have.property('name');
    });
    done();

  });

这是用Chai做单元测试的正确方式吗?

之前的目的是在适当的位置进行会话。但是,我认为我应该直接在其中创建一个会话,而不调用任何/user/login

EN

回答 1

Stack Overflow用户

发布于 2017-06-24 01:15:31

正如@robertklep指出的那样,在完成预期之后,您应该在给end()的回调中调用done()

由于异步请求的性质,done()是在响应传入之前调用的。确保在满足请求时,始终在预期完成后立即调用done()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42565178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档