我正在编写一个应该执行以下操作的测试脚本(这是一个示例,但逻辑和结构是相同的)。
- 对于 arr1 中的每个项目,调用函数 arr_func_1。
- 在 arr_func_1 中,记录当前项目,然后为 arr2 中的每个项目调用函数 arr_func_2。
- 在 arr_func_2 中,记录当前项目。
调用包含在 its() 中,因为如果数组中的一个元素失败,那么它需要优雅地失败并继续处理数组中的下一个元素。
对此的预期结果应该是:
1 10 20 30 2 10 20 30 3 10 20 30
相反,我收到 1 2 3
这让我相信初始函数是异步调用的。
var arr1 = [1,2,3]
var arr2 = [10,20,30]
function arr_func_1(item){
console.log(item);
arr2.forEach(function(item){
it('should loop through arr2, function(){
arr_func_2(item);
})
});
}
function arr_func_2(item){
console.log(item);
}
describe('test case', function(){
arr1.forEach(function(item){
it('should loop through array 1', function(){
arr_func_1(item);
})
}
})