mocha.js - 在 cypress 中每次测试后获取测试状态

标签 mocha.js cypress status test-results

我正在寻找一个选项来获取每个测试的名称和结果(失败/通过),以将其保存到外部文件。

如何轻松获取此信息?

目前,我只能通过以下方式获取 it() 部分中的标题:

cy.log(this.test.title)

但是,我无法在那里得到结果。

最好从 afterEach() 部分获得此选项。这样我就可以将标题和结果保存在一个地方。

我无法执行this.test.state,因为无法读取未定义的属性“test”

我无法使用 Cypress.on('test:after:run', (test)) 因为这部分代码未启动。我不知道为什么。

谢谢!

最佳答案

使用下面的代码片段,它会起作用:

Cypress.mocha.getRunner().suite.ctx.currentTest.state 
  • 它会告诉您状态为通过失败
  • 您只需将 mocha 插件与 cypress 项目集成即可。

您可以使用上面的脚本,如下所示:

if (Cypress.mocha.getRunner().suite.ctx.currentTest.state === 'failed') {
            cy.log('Failed')
        } else {
            cy.log('Passed')
 }

关于mocha.js - 在 cypress 中每次测试后获取测试状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66153949/

相关文章:

node.js - 当抛出的任何错误都没有冒泡时,如何在 promise 中做出断言?

javascript - 如何将 mochas done 回调函数传递给另一个辅助函数

mocha.js - 即使我使用 babel-register,也无法使用 mocha 从源文件夹导入代码

javascript - 我需要在测试中注入(inject)插件,否则我会收到错误日志

angular - 如何在 Angular 项目中使用新的 Cypress 组件测试运行程序?

fonts - 如何在 Cypress 中处理字体加载和屏幕截图

git - 查看本地和远程 Git 存储库之间的确切差异/提交

javascript - Cypress - 存储一个值以供稍后访问

c# - Win32_EncryptableVolume 在 C# 中获取 bitlocker 状态

php - 为 WooCommerce 中的特定订单状态启用 "cancel"订单操作按钮