如何确保对象数组中的所有项目都具有 mocha 中所有必需的键?
how to make sure all items in an array of objects has all required keys in mocha?
我是测试新手,我有一个对象数组的结果,我想确保数组中的每个项目都具有必需的属性,结果是这样的:
// result_threads = [{a:1,b:2},{a:3,b:4}]
我想做这样的测试:
chai_module
.request(server)
.get(`/api/threads/${test_board_id}`)
.end((get_threads_error, response) => {
const { status: actual_status } = response;
const { threads: result_threads } = response.body
// THE TEST I WANT TO MAKE
assert.isArray(result_threads).to.contain.an.item.hasAllKeys(['a','b']);
done();
});
如何确保数组中的项目具有所有必需的键?
一种方法是分两步验证断言。您首先验证您是否有一个数组,然后遍历该数组并验证每个项目是否具有您期望的键:
chai_module
.request(server)
.get(`/api/threads/${test_board_id}`)
.end((get_threads_error, response) => {
const { status: actual_status } = response;
const { threads: result_threads } = response.body
assert.isArray(result_threads);
result_threads.forEach((item) => {
assert.hasAllKeys(item, ['a', 'b']);
});
done();
});
我是测试新手,我有一个对象数组的结果,我想确保数组中的每个项目都具有必需的属性,结果是这样的:
// result_threads = [{a:1,b:2},{a:3,b:4}]
我想做这样的测试:
chai_module
.request(server)
.get(`/api/threads/${test_board_id}`)
.end((get_threads_error, response) => {
const { status: actual_status } = response;
const { threads: result_threads } = response.body
// THE TEST I WANT TO MAKE
assert.isArray(result_threads).to.contain.an.item.hasAllKeys(['a','b']);
done();
});
如何确保数组中的项目具有所有必需的键?
一种方法是分两步验证断言。您首先验证您是否有一个数组,然后遍历该数组并验证每个项目是否具有您期望的键:
chai_module
.request(server)
.get(`/api/threads/${test_board_id}`)
.end((get_threads_error, response) => {
const { status: actual_status } = response;
const { threads: result_threads } = response.body
assert.isArray(result_threads);
result_threads.forEach((item) => {
assert.hasAllKeys(item, ['a', 'b']);
});
done();
});