我构建了 nodejs 服务器,现在我正在用 mocha 对其进行测试。
我对异步请求有疑问。我将我的对象发送到 API,然后检查数据库中的对象记录。我只需要使用 co 库和生成器。有错误:
TypeError: Cannot read property 'id' of null
这取决于 insertUser 对象为空,但我不知道为什么数据库中的对象为空。
API 工作正常,sequilize 工作正常。
it('it should POST a user', () => {
return co(function *() {
let user = {
name: "testInsertUser",
password: "12345"
};
let res = yield chai.request(server)
.post('/api/users')
.send(user);
res.should.have.status(HTTPStatus.OK);
res.body.should.be.a('object');
res.body.should.have.property('name').eql(user.name);
res.body.should.not.have.property('password');
//Find user in db
let insertUser =
yield models.User.findOne({
where: {
name: user.name,
password: user.password
}
});
res.body.should.have.property('id').eql(insertUser.id);
});
});