如何在Jasmine / Protractor中的循环中正确嵌套循环?应该在哪里放置它和描述块?

时间:2018-09-11 12:25:00

标签: typescript loops jasmine protractor

我需要遍历许多参数,因此我需要在循环内嵌套循环。 不幸的是,在SO上发现的其他问题(例如:Using loops in Jasmine (with injected service))中没有嵌套循环。

我的(简化的)TypeScript /量角器代码如下:

describe('Nested loops tests', () => {

    const testedPage = new somePage();
    const testParams: number[][] = [[0, 2, 20], [1, 5, 11] ];

    beforeAll(() => {
        // some code
    });

    afterAll(() => {
        // some code
    });

    testParams.forEach(function (testParamsSet) {
        const param1: number = testParamsSet[0];
        const param2: number[] = Array.from({ length: testParamsSet[1] }, (v, k) => k);
        const param3: number[] = Array.from({ length: testParamsSet[2] }, (v, k) => k);
        describe('For selected element: ' + param1, () => {

            beforeAll(() => {
                testedPage.selectOption(param1);
            });
            param2.forEach(function(par2) {
                param3.forEach(function(par3){
                    it('should work for par2:' + par2 + ' and par3: ' + par3, () => {
                        // some code

                        // some expect
                    });
                });
            });
        });
    });
});

运行测试时,没有执行it块:

Executed 0 of 0 specs SUCCESS in 0.016 sec.

我想如果我将所有绒毛都移到it块中,那可能会起作用。 但是,这意味着在结果中,我将检查一个it,其中检查了expect个块。

0 个答案:

没有答案