【发布时间】:2015-11-14 00:55:34
【问题描述】:
我开始使用 Lab 来测试我的 API。 API 执行通常的 CRUD 操作,我想知道我应该如何测试需要文档 ID 的 Update 和 Delete 方法。
我的 API 返回 response.payload 中新创建的 mongo 文档。我不明白为什么在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();
});
});
});
【问题讨论】:
标签: javascript testing hapijs lab