我正在尝试检查不同页面上是否存在某些内容。例如:
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/