我开始使用 Lab 来测试我的 API。API 执行通常的 CRUD 操作,我想知道我应该如何测试需要文档 ID 的 Update 和 Delete 方法。
我的 API 在内部返回新创建的 mongo 文档response.payload
。我不明白为什么在DELETE
测试resultId
中是undefined
.
这是我的代码:
lab.experiment('User module', () => {
var resultId; // Initialize a variable to save the document ID later.
lab.test('should create user', (done) => {
var options = {
method: 'POST',
url: '/api/v1/users',
payload: {
username: 'testUser',
password: 'testPassword'
}
};
server.inject(options, (response) => {
resultId = response.payload._id; // Update resultId
Code.expect(response.statusCode).to.equal(200);
done();
});
});
lab.test('should delete user', (done) => {
var options = {
method: 'DELETE',
url: '/api/v1/users/' + resultId // Turns out resultId is undefined
};
server.inject(options, (response) => {
Code.expect(response.statusCode).to.equal(200);
done();
});
});
});