您如何防止测试在第一个失败的测试用例上停止?
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
我正在尝试检查不同页面上是否存在某些内容。例如:
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