首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >chai断言始终正常

chai断言始终正常
EN

Stack Overflow用户
提问于 2018-03-31 20:18:08
回答 1查看 324关注 0票数 0

我正在尝试使用mocha和chai断言来测试node.js应用程序接口。

我的问题是我总是得到一个“通过的结果”。

测试:

代码语言:javascript
复制
describe('TESTING /register', () => {

it('Should create a new account for chai-testing:chai-testing', () => {
    let user = {
        pseudo: "chai-testing",
        mail: "chai@chai.com",
        password: "chai-testing"
    };

    chai.request(server)
    .post('/register')
    .send(user)
    .end((err, resp) => {
        console.log(resp.body);
        resp.body.should.have.property('success').eql(true);
        done();
    });
});
});

和控制台输出:

代码语言:javascript
复制
  TESTING /register
✓ Should create a new account for chai-testing:chai-testing

chai-testing chai@chai.com chai-testing

代码语言:javascript
复制
1 passing (51ms)

{ favoris: [],
  _id: 5abf6b5502c0f910439fec32,
  pseudo: 'chai-testing',
  mail: 'chai@chai.com',
  password: '$2a$10$BPzQfp3wiDxU3mwgeXkG8Oh.B1ET8wTt5kg12oBwQ0obUxAyZQdLu',
  admin: false,
  __v: 0 }
POST /register 200 281.742 ms - 51
{ **success: false**, message: 'pseudo already taken' }

我在测试中做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-08 19:31:08

有两个断言,而不是这样:

代码语言:javascript
复制
describe('TESTING /register', () => {

it('Should create a new account for chai-testing:chai-testing', () => {
   let user = {
    pseudo: "chai-testing",
    mail: "chai@chai.com",
    password: "chai-testing"
  };

chai.request(server)
.post('/register')
.send(user)
.end((err, resp) => {
    console.log(resp.body);
    // if the resp has an attribute success then this
    // assertion is true ( .eql(true) )  
    // that's why you get the test always passing 
    resp.body.should.have.property('success');

    resp.body.success.should.eql(true);
    done();
     });
    });
   }); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49587642

复制
相关文章

相似问题

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