我遇到一种情况,我们需要执行一个for循环,然后使用for循环变量来在for循环内执行几个“ it”块。示例代码如下:
for (i=0; i <3; i++){
it ('should complete the first test', function(){
let j = i+1;
console.log(j);
});
it ('should complete the first test', function(){
let K = i+3;
console.log(K);
});
}
运行此代码时,我得到以下信息:
4
.6
.4
.6
.4
.6
.
但是我需要第一个测试块的值为1,2,3,第二个块的值为3,4,5。我看到有很多关于For循环问题的关于SO的问题,但是找不到能帮助我的解决方案。如果将函数包装为“ return it(...”),则此方法仅适用于第一个it块。是否有解决方法?
答案 0 :(得分:1)
如果您在循环上方声明计数器,则应该获取所需的计数。
describe('desribe the test', () => {
let count = 1;
for (i=0; i <3; i++){
it ('should complete the first test', function(){
console.log(count);
count++;
});
}
for (i=0; i <3; i++){
it ('should complete the first test', function(){
console.log(count);
count++;
});
}
})
答案 1 :(得分:0)
it(...)
只需注册测试。您的for
块将循环3次,注册6个测试。一旦您的for块完成运行并且i === 3
,才运行您的it(...)
块,并且它们记录i+1
或i+3
的值。在所有情况下,i
将是3
,因此i+1
= 4且i+3
= 6