Mocha测试用mongoose findOne返回空数据

时间:2015-03-26 20:57:14

标签: node.js mongoose tdd mocha mean.io

我最近开始使用Mocha框架工作为我的节点应用程序编写测试用例,但在我的测试用例中尝试使用mongoose findOne函数时遇到了非常恼人的错误:

我的测试用例基本上是一个api,它从我的集合usine mongoose.load函数中获取一条记录,我的代码是这样的: -

  //retrive by id
  it("function #findOne", function(done) {
    Books.load(book._id, function(err, data) {
      expect(err).to.be(null);
      expect(data.name).to.equal('Book Name');
      expect(data.price).to.equal(45);
      expect(data.description).to.equal('Book Description');
      expect(data.belongTo.length).to.not.equal(0);
      expect(data.created.length).to.not.equal(0);
      done();
    });
  }); 

我的函数返回错误,数据为null。 所以我的测试用例因失败而失败:

Uncaught TypeError: Cannot read property 'name' of null
抱歉,我是一名新手,非常感谢你。

1 个答案:

答案 0 :(得分:0)

首先确保数据中包含什么值。