gpt4 book ai didi

semaphore - Cypress:在第一次失败时中断所有测试

转载 作者:行者123 更新时间:2023-12-04 02:36:23 28 4
gpt4 key购买 nike

如何在第一次测试失败时中断所有 Cypress 测试?

我们正在使用 semaphore 为每个 PR 使用 Cypress 启动完整的 e2e 测试。但这需要太多时间。

我想在第一次测试失败时中断所有测试。

获取完整的错误是每个开发人员在开发时的工作。如果在部署之前有任何问题,我只想尽快得到通知,而不必等待完整的测试完成。

到目前为止,我想出的唯一解决方案是使用 Cypress 中断对当前规范文件的测试。

afterEach(() => {
if (this.currentTest.state === 'failed') {
Cypress.runner.end();
}
});

但这还不够,因为它只中断位于规范文件中的测试,而不是所有其他文件。我今天对这个问题做了一些深入的搜索,这似乎不是 Cypress 的事情。

所以我正在尝试其他解决方案。

1:带信号量
fail_fast:
stop:
when: "true"

它应该在出错时中断脚本。但它不起作用:测试在出错后继续运行。我的猜测是 Cypress 只有在所有测试都完成后才会抛出错误。

2:也许脚本启动了 Cypress ,但我没有想法
现在这是我的脚本
"cy:run": "npx cypress run",
"cy:run:dev": "CYPRESS_env=dev npx cypress run",
"cy:test": "start-server-and-test start http-get://localhost:4202 cy:run"

最佳答案

由于某种原因,这一直是 Cypress 长期以来要求的功能,但仍未引入。社区提出了一些解决方法,但不能保证它们会起作用。 Check this thread on Cypress' Github for more details, maybe you will find a workaround that works for your case.

关于semaphore - Cypress:在第一次失败时中断所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61661932/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com