Testing 如何确保对象数组中的所有项目在mocha中具有所有必需的键?
我是测试新手,我有一个对象数组的结果,我想确保数组中的每个项都有必需的属性,结果如下:Testing 如何确保对象数组中的所有项目在mocha中具有所有必需的键?,testing,jestjs,mocha.js,Testing,Jestjs,Mocha.js,我是测试新手,我有一个对象数组的结果,我想确保数组中的每个项都有必需的属性,结果如下: // 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:
// 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();
});