【问题标题】:integration tests, can't return an array NodeJS/Mocha集成测试,不能返回数组 NodeJS/Mocha
【发布时间】:2018-03-11 10:46:46
【问题描述】:

嘿,我想在集成测试中返回一个数组,

我有一个检索表的函数。函数期望对象req.user._id,所以我创建它,接下来我创建集成测试,但是当我运行时我返回空对象,有人可以告诉我我必须做什么才能得到返回的数组吗?

功能:

 .get('/boards-list', function (req, res) {
    Board.find({ 'users': req.user._id })
      .then((board) => {
        res.json(board);
      })
      .catch((err) => {
        res.status(404).json('Nie można pobrać tablic.')
      })
  })

摩卡:

describe('/boards-list', () => {
  it('it should GET all the boards', (done) => {
    var req = {};
    req.user = {};
     req.user._id = "ObjectId('5a8db5d449c0572dbc60548c')";


    chai.request(server)
        .get('/boards-list')
        .send(req)
        .end((err, res) => { 
          console.log(res.body);
                        // res.should.have.status(200);
                        // res.body.should.be.a('array');
                        // res.body.length.should.be.eql(0);
          done();
        });
  });

}); 

【问题讨论】:

    标签: node.js mocha.js


    【解决方案1】:

    我认为问题出在您传递的 id 上:

    req.user._id = "ObjectId('5a8db5d449c0572dbc60548c')";
    

    尝试这样传递:

    req.user._id = "5a8db5d449c0572dbc60548c";
    

    【讨论】:

    • 仍然返回空对象
    • 它以 req.body.req.user._id 的形式返回我如何制作局部变量 req.user._id 并将其传递给函数?
    • hehe 在这种情况下是 get :D
    • kgangadhar 你能告诉我,如果我需要身份验证(登录),如何在 .post 上进行测试?
    • 检查调用端点时需要传递的内容和所有内容,通过正文或标题传递这些参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2013-06-13
    相关资源
    最近更新 更多