Jest之前从描述执行后从API完成所有提取,因此每个获取页面的运行测试失败

时间:2018-03-13 09:22:04

标签: javascript jestjs

我想创建jest测试,从beforeAll中的API获取页面数据(url,组件数据和关于什么页面上的内容的所有信息) - 然后循环遍历它们并用pupeteer测试它们 - 但是因为我必须制作对正在取出的内容作出反应的测试 - 我必须使用describe。但似乎只有it()或test()之前的所有。简单的小例子:

'use strict';
const helpers = require('./helpers');

describe('pages', () => {
    let livePages;
    beforeAll(async () => {
        const { key } = await helpers.login();
        const { pages } = await helpers.getPageList(key);
        livePages = pages.filter(page => page.pageState === 'live');
    });
    test('smoke test', () => {
        expect(livePages.length).not.toBe(0);
    });

    it('smoke test', () => {
        expect(livePages.length).not.toBe(0);
    });
    describe('smoke test', () => {
        livePages.forEach(page => {
            test('locale test', () => {
                expect(page.locale).toBe('de-DE');
            });
        });
    });
});

并且它失败了' TypeError:无法读取属性' forEach'未定义的'但是test()和it()都通过了(测试:1次失败,2次传递,3次传递)。 是否有任何解决方法可以让我为每个获取的页面运行特定的测试?

0 个答案:

没有答案