testing - 如何防止测试在第一个失败的测试用例上停止?

标签 testing automated-tests e2e-testing testcafe assertion

我正在尝试检查不同页面上是否存在某些内容。例如:

const contentCount = Selector('.some-element').childElementCount

.expect(contentCount).gte(1, 'The related content is missing.')

... 工作正常,只是测试在第一个断言失败后停止。这并不理想,因为我试图生成一个报告,一次显示所有失败的断言。

如何让测试在断言失败后继续运行?

最佳答案

首先回答主题的问题(如何防止测试在第一个失败的测试用例上停止)。

TestCafe 将运行所有测试,即使其中一个测试失败。您可能希望将具有多个断言的单个测试用例拆分为多个测试用例,每个测试只有一个断言,以获得正确的报告。

现在,从正文回答您的问题(如何在断言失败后继续运行)。

目前,无法在测试执行期间跳过失败的断言。如果断言失败,TestCafe 就会认为出现了问题,因此整个测试失败。但是,如果您不希望断言测试失败,您可以为其添加一个条件;例如:

if (contentCount > 0)
  await t.expect(contentCount).gte(1, 'The related content is missing.')

但是,这看起来不像是直接且可预测的测试逻辑。因此,我会选择将一个测试拆分为多个测试,每个测试一个断言。

另请参阅:TestCafe Assertions

关于testing - 如何防止测试在第一个失败的测试用例上停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52614503/

相关文章:

c - 如何测试具有多个输入的 C 程序?

java - 如何对同步方法进行单元测试?

javascript - 是否可以在 `conf.js` 内创建函数?

java - 使用openCV模板匹配器,在没有所需对象的情况下,无论如何都能找到匹配项。如何获得异常(exception)?

javascript - 与 Testrail 集成的 Testcafe 未更新结果

testing - 为集成测试和基准测试共享实用功能的惯用方法是什么?

ruby-on-rails - 如何测试目录?

testing - 如何在 .testcafe 配置文件中为固定装置元设置多个过滤器?

puppeteer - 仅针对最新浏览器版本进行 E2E 测试有什么好处

angularjs - for 循环和 Protractor 中的 if 问题