首页 > 解决方案 > 摩卡重试整个套件不仅没有通过测试

问题描述

如果任何测试失败,我正在尝试将 mocha 配置为重试整个套件。

我导航到一个 URL,然后填充一个表单并提交,然后用户被重定向,如果找到某个元素,则最后一个测试通过。

如果找不到该元素,我需要再次导航到表单,填写并提交,重新运行整个套件 N 次。

我已经尝试在描述的水平上使用 this.retries(),还有保释和重试标志,但 mocha 只重试失败的测试。

var count = 0

describe('Main suite', function () {

  this.retries(5)

  it('Some setup', () => {
    console.log('1. Some setup');    
  });

  it("bail issue", function() {
    console.log('2. bail issue');
    if (count < 4) {
      count += 1
      throw new Error("Must be retried")
    }
  })

});

describe('end', function () {
  it('close', () => {
  });
});

摩卡

标签: mocha.js

解决方案


基于 Mocha 文档,retries目的仅用于失败的测试

您可以选择重试失败的测试最多一定次数。此功能旨在处理无法轻松模拟/存根资源的端到端测试(功能测试/Selenium ...)。不建议将此功能用于单元测试。

参考: - https://mochajs.org/#retry-tests


推荐阅读