node.js - 如何使用 Jest 多次运行相同的测试

标签 node.js jestjs

我正在使用 jest 来运行我的测试套件(后端为 Node.js 和 express)。下面是我的代码:

const puppeteer = require ('puppeteer');

test('testing login function', async () => {
    const browser = await puppeteer.launch ({  
        headless: true,
        args: ['--no-sandbox']
  });

    const page = await browser.newPage();

    await page.type('#username', 'admin');
    await page.type('#password', 'password');

    await page.click('login-button');

    await page.waitFor('.card');

    expect(texthead).toEqual('Welcome to webpage');

    await browser.close();
});

我正在尝试一次多次运行同一个测试,有没有办法 Jest 使用它,或者可能使用其他工具。

最佳答案

如果您正在寻找本质上可以对单个测试进行压力测试的东西(像我一样寻找测试的脆弱性),那么您可以在终端中使用以下单行代码,当然它会同时使用 bash 和 Jest。

for i in {1..100}; do npx jest <test_file> --silent || (echo "Failed after $i attempts" && break); done

此特定命令要求您安装 npx 并使用 --silent 选项,但您可以根据需要进行更改。

关于node.js - 如何使用 Jest 多次运行相同的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52318654/

相关文章:

node.js - 如何使用 imagemagick 在图像周围添加更多空白

unit-testing - 在 Jest 测试中获得 axios 响应后如何重新渲染

javascript - 在 Promise 中调用 setState 时 React Jest 测试失败

javascript - 你能写出期望抛出的异步测试吗?

angularjs - mean.js 菜单 isPublic 不起作用

node.js - typescript - 导入模块 - 找不到模块

javascript - 如何解析 "Firefox can' t 建立与 127.0.0.1 :8081"处服务器的连接

node.js - 为什么我不能用 NodeJS 解密我用 openssl 加密的文件?

javascript - 在 promise API 调用 jest 中测试 then()

unit-testing - 如何在每次 Jest 测试运行之前运行一些配置