提取Jest步骤定义以分离文件

时间:2018-08-31 14:30:41

标签: jestjs puppeteer

我正在与Jest和Puppeteer做一些e2e测试,但遇到了瓶颈。 我想将步骤定义移到单独的文件中,以便可以在不同的测试中重复使用它们。

我遇到以下问题:

enter image description here

这是我的设置: dummyTest.test.js:

<loggers></loggers>

test.js:

import {loginUser} from '../steps/test';

describe(
'dummy test',
() => {
    let page;
    beforeAll( async () => {
        const context = await browser.createIncognitoBrowserContext();
        page = await context.newPage();
        await page.setViewport( { width: 1200, height: 960 } );
        await page.goto( 'http://localhost:8080' );
    }, timeout );

    afterAll( async () => {
        await page.close();
        delay( 1000 );
        console.log( 'killing all chromium zombies' );
        exec( 'kill -9 $(ps aux | grep \'chromium\' | awk \'{print $2})\'' );
        exec( 'kill -9 $(ps aux | grep \'http-server\' | awk \'{print $2})\'' );
    }, 10000 );

    it( 'should see login page', loginUser, 10000 );
},
10000 );

我在做什么错了?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

解决了。 为了使它起作用,我必须传递page对象,并将完成的回调传递给该函数。 it( 'should see login page', ( done ) => loginUser( done, page ), 10000 );