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

How do you prevent the tests from stopping on the first failed test case?

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

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

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

... 工作正常,除了测试在第一个断言失败后停止。这并不理想,因为我正在尝试生成一份报告,同时显示所有失败的断言。

如何让测试在断言失败后保持 运行?

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

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

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

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

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

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

另请参阅:TestCafe Assertions