1

我没有找到任何关于重新运行失败测试(使用量角器)的可能性的参考。你知道怎么做吗?太好了,因为我有很多测试,我不想再次运行所有测试来验证之前失败的测试是否通过。

有没有人有这方面的经验?它会这样:

  • 运行所有测试
  • 收集失败的测试并再次运行它们(也许我可以以某种方式设置重试限制,如 2 或 3 次)
  • 显示结果
4

3 回答 3

2

据我了解,目前是不可能的,但是有一个开放的功能请求:

于 2014-12-31T19:04:28.273 回答
2

截至 2016 年 9 月 9 日,在黄瓜/量角器 e2e 测试中重新运行失败测试的唯一方法是使用 NickTomlin 的量角器片。

Protractor-flake 是“一个包装器,用于量角器自动重新运行失败的规范以进行特定次数的尝试”,查看这两个链接以了解如何实现它的步骤:

  1. https://www.npmjs.com/package/protractor-flake
  2. https://github.com/NickTomlin/protractor-flake/blob/master/docs/cucumber.md

请注意上面那个 NPM 链接下的警告部分:

*注意事项

这尚未使用 Protractor + Mocha 进行测试。它的功能应该类似。如果不是这种情况,请更新问题或 PR。

如果您使用不为失败的测试记录堆栈跟踪的自定义报告器,则测试将无法正确重新运行(每次都会运行所有测试)。例如,如果您在 Jasmine 2.0 中使用 jasmine-spec-reporter,请确保设置 displayStacktrace: 'specs' 或 displayStacktrace: 'all'.*

于 2016-09-09T13:43:27.973 回答
0

Cucumber 有自己的属性来重新运行失败的测试,你只需要粘贴:

cucumberOpts : {
        require : [
            '...'
        ],
        format : 'rerun:path/to/@rerun.txt'
    }

然后使用此文件运行测试。

于 2016-12-01T08:46:26.420 回答