supertest-as-promise和chai

时间:2016-07-08 07:13:38

标签: javascript node.js chai supertest

我尝试使用suiest-as-promised with chai's expect。测试应该是这样的:在foos端点发布一些JSON,然后调用bars端点,其中响应的主体长度为2.

  it('should fail', function(){
    var agent = request(app)
    agent
      .post('/foos')
      .send({
        // some JSON
      })
      .then(function(){
        agent.get('/bars').then(function(res){
          console.log(res);
          expect(res).to.have.deep.property('body.data').and.have.property('length').and.equal(3)
        })
      })
  })

console.log没有运行,无论我写的是什么,测试都会通过。

1 个答案:

答案 0 :(得分:0)

你确定你的承诺能解决吗?检查第一个和第二个使用完成回调来通知chai您的异步功能已完成:

it('should fail', function(done){
    var agent = request(app)
    agent
      .post('/foos')
      .send({
        // some JSON
      })
      .then(function(){
        agent.get('/bars').then(function(res){
          console.log(res);
          expect(res).to.have.deep.property('body.data').and.have.property('length').and.equal(3)
          done();
        }, function(error) {
          console.log(error);
        })
      }, function(error) {
        console.log(error);
      })
  })