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



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

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

最新更新