cypress - 如果 afterEach-block 中出现问题,则仅重试 it- 和 afterEach-block
问题描述
我使用retry
-option 运行测试。如果 -block 出现问题,afterEach
则只有it
-block 和afterEach
-block 正在重试,而不是beforeEach
-block。在我看来,这是古玩行为。那么这是错误还是故意行为?
PS:我使用的是赛普拉斯 7.7
解决方案
使用简化的测试,我可以beforeEach()
在重试时执行。
let retry = 0;
describe('', () => {
beforeEach(() => {
console.log('beforeEach', retry)
})
afterEach(() => {
console.log('afterEach', retry)
retry = retry +1;
if (retry === 1) {
console.log('failing')
throw 'failed in afterEach'
}
})
it('test1', () => {
console.log('test1', retry)
expect(true).to.eq(true)
})
it('test2', () => {
console.log('test2', retry)
expect(true).to.eq(true)
})
})
控制台日志
beforeEach 0
test1 0
afterEach 0
failing // first afterEach fails
beforeEach 1 // retry attempt
test1 1
afterEach 1
beforeEach 2
test2 2
afterEach 2
您能否添加可能影响此结果的详细信息?
推荐阅读
- java - 通过在Java中返回参数的函数链接
- c++ - 寻找off64_t偏移量的大文件不起作用
- javascript - 如何更新 localStorage 中的数组对象?
- snowflake-cloud-data-platform - 使用 DBT 更改雪花表数据类型
- python - 在树莓派 sqlite3.InterfaceError 上出现错误:错误绑定参数 0 - 可能是不受支持的类型
- tableau-api - Tableau中过滤器的过滤器
- javascript - 使用 Javascript 进行命中检测
- jmeter - ASP .NET 在 Jmeter 中再次重定向到登录页面
- python - 由于 int 对象没有属性“拆分”而无法拆分
- mysql - SQL查询获取在多个日期购买并且还购买了多个产品的客户数量