我如何重试失败的测试?

问题描述 投票:3回答:1

我有时会有1或2个在CI中失败的测试,并且重新运行构建会使它们通过。

我如何自动重新运行这些不稳定的测试,以便使我的构建第一次通过?是否有类似于mochathis.retries的内容?

例如,我的测试以“元素的有效高度为0x0”失败,大约10%的时间失败:

cy.visit('/')
cy.get('.my-element').click() // sometimes fails with not visible error
continuous-integration cypress
1个回答
5
投票

官方提供对测试重试的支持,但是有一个插件。 cypress-plugin-retries

披露:我是插件的创建者。

安装

将插件添加到devDependencies

cypress-plugin-retries

[C0的顶部:

npm install -D cypress-plugin-retries

用法

使用环境变量cypress/support/index.js设置重试编号:

require('cypress-plugin-retries')

在规格文件中使用CYPRESS_RETRIES

CYPRESS_RETRIES=2 npm run cypress

<< [或在每个测试或每个挂接的基础上,设置重试编号:

注意:此插件

添加Cypress.currentTest

,您应仅在此插件的上下文中访问它。Cypress.env('RETRIES')
注意:Cypress.env('RETRIES', 2)
© www.soinside.com 2019 - 2024. All rights reserved.