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

时间:2018-10-02 18:42:54

标签: automated-tests e2e-testing assertion testcafe

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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