首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个文件中运行Jest-Puppeteer测试

如何在多个文件中运行Jest-Puppeteer测试
EN

Stack Overflow用户
提问于 2018-07-20 11:19:22
回答 1查看 1.6K关注 0票数 13

我在用小丑来做我的网络测试。如果我运行的测试都是在一个文件中定义的,那么一切都是完美的。

代码语言:javascript
复制
describe('user', () => {

    jest.setTimeout(12000);

    beforeEach(async () => {
        await page.setViewport({width: 1200, height: 2000});
        await page.goTo('http://localhost:3000');
    });

    it('test 1', async () => {
        //my test steps
    });

    it('test 2', async () => {
        //my test steps
    });

});

但是,如果我在自己的文件中运行每个测试,则会得到一个错误。

代码语言:javascript
复制
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'addExpectationResult' of undefined

档案1

代码语言:javascript
复制
describe('user', () => {

    jest.setTimeout(12000);

    beforeEach(async () => {
        await page.setViewport({width: 1200, height: 2000});
        await page.goTo('http://localhost:3000');
    });

    it('test 1', async () => {
        //my test steps
    });

});

档案2

代码语言:javascript
复制
describe('user', () => {

    jest.setTimeout(12000);

    beforeEach(async () => {
        await page.setViewport({width: 1200, height: 2000});
        await page.goTo('http://localhost:3000');
    });

    it('test 2', async () => {
        //my test steps
    });

});

有趣的是,如果我在console.log中添加了一个test2 (“statement”)作为第一步,那么一切都会恢复正常。这就是为什么我认为这可能是一个时间问题。我正在按顺序运行我的测试,即jest --runInBand

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-31 15:52:43

正如您所说的,我同意问题是顺序异步的,正如在Patrick中的github bugreport中所解释的:

FWIW我也遇到了这个问题,并导致了这个问题。只有当异步测试超时时才在CI中发生,但底层操作一直持续到测试套件完成(我猜回调试图添加预期的结果)。不过,我不可能让它在当地发生。

因此,您的错误可能在"//my test steps“中,在这两个测试中,在运行异步进程之前,您都可以/需要操作这些测试中的某些内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51441385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档