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

     2023-02-18     19

关键词:

【中文标题】你如何防止测试在第一个失败的测试用例上停止?【英文标题】:How do you prevent the tests from stopping on the first failed test case? 【发布时间】:2019-03-07 22:39:33 【问题描述】:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

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

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

另请参阅:TestCafe Assertions

【讨论】:

感谢您的回复。无需过多介绍我们的设置,在单个测试中保留多个断言将是理想的。我不确定这是否已经被请求 - 但是如果我们可以选择继续(相同的)测试,即使断言失败也会很好。 runner.run() 上的附加选项可能吗? 对我来说,任何测试的主要目的都是检查某些功能是否正常工作。但是,如果出现问题,则意味着此功能无法完全发挥作用。在这种情况下,我希望测试失败。想象一下,您的汽车有一个 V6 发动机,但 6 个火花塞中有 1 个不工作。这是一个必须解决的问题,如果至少有一个火花塞发生故障,我希望我的火花塞检查测试失败。 作为替代方案,您可以一次在测试中为所有条件创建单个断言并提供完整的实际结果。在这种情况下,您可能会看到预期结果和实际结果之间的差异。 有道理。也许我的测试用例范围在本质上太宽泛了,应该缩小范围以更细化。感谢您的帮助,并继续努力! TestCafe 是一个了不起的工具。

JUnit 测试用例中“失败”的实际用途是啥?

】JUnit测试用例中“失败”的实际用途是啥?【英文标题】:What\'stheactualuseof\'fail\'inJUnittestcase?JUnit测试用例中“失败”的实际用途是什么?【发布时间】:2011-04-2115:52:53【问题描述】:JUnit测试用例中“失败”的实际用途是什么... 查看详情

如果机器人框架中的第一个测试用例失败,如何跳过测试用例执行

】如果机器人框架中的第一个测试用例失败,如何跳过测试用例执行【英文标题】:Howtoskiptestcasesexecutioniffirsttestcasefailinrobotframework【发布时间】:2017-09-0618:42:27【问题描述】:我正在机器人框架中运行多个测试用例(在测试套... 查看详情

Xcode UI 测试 - 当测试套件中的任何给定测试失败时停止测试?

】XcodeUI测试-当测试套件中的任何给定测试失败时停止测试?【英文标题】:XcodeUITests-Stoptestingwhenanygiventestinthetestsuitefails?【发布时间】:2018-03-2621:03:24【问题描述】:我希望以这样一种方式运行我的UI测试,即如果测试套件中... 查看详情

七分钟教会你如何编写一个合格的测试用例(代码片段)

1、测试用例编写依据测试用例编写应严格根据PRD(产品说明书)没有PRD应根据与客户的沟通和确认结果编写开发的技术文档和流程图2、测试用例的组成元素【用例编号】测试用例的编号。【用例等级】测试用例的重要级... 查看详情

当前测试用例成功/失败

...tearDown()方法可以覆盖,该方法在测试用例结束时执行。如何知道测试用例是否成功?【问题讨论】:您想知道以显示自定义日志消息吗?不是我想在成功的情况下进行一些清理。【参考方案1】:XC 查看详情

pytest常用选项

1.测试代码的命名规则:测试文件应该用test_开头或者_test结尾测试函数、测试方法应该以test_开头测试类应该以Test开头2.如果想指定运行py文件中的某一个,可以使用:在指定文件名之后添加::test_name3.运行pytestpytestpytest文件名称4... 查看详情

pytest运行命令(代码片段)

1.第一个(或N个)测试失败后停止在第一个(N)次失败后停止测试过程:pytest-x#遇到第一个失败时,停止pytest--maxfail==2#遇到第二个失败时,停止2.指定测试或选择测试Pytest支持从命令行运行和选择测试的几种方法。在模块中运... 查看详情

为啥 Cakephp 的 Controller 第二个测试用例总是失败

】为啥Cakephp的Controller第二个测试用例总是失败【英文标题】:WhyCakephp\'sControllersecondtestcaseisalwaysfailed为什么Cakephp的Controller第二个测试用例总是失败【发布时间】:2020-02-2011:22:12【问题描述】:我正在为我们使用cakephp2.x版本实... 查看详情

测试用例失败后继续 jacoco 代码覆盖率报告

...在androidstudio中测试用例失败时未生成代码覆盖率报告。如何跳过失败的测试用例并生成代码覆盖率报告。【问题讨论】:你有没有在测试用例失败时生成覆盖率报告的解决方案?【参考方案1】:在运行测 查看详情

如何断言在selenium测试用例的登录成功

就拿登录来说,用你成功登录与登录失败的页面作为对比。将能判断事务是否成功的部分设置为断言,比如说,成功登录之后的URL跳转了。那么判断URL有没有发生改变,改变了就成功登录了。或者是登录失败了页面提示登录失败... 查看详情

selenium+pageobject+java实现测试用例

selenium:selenium是一个自动化测试工具,支持chrome,firefox,Safari等主流浏览器的。下载对应浏览器的驱动,就能使用selenium对web页面进行测试。PageObject:其实是一种设计模式,总的来说就是把每一个页面封装成一个对象。对页面... 查看详情

如何编写测试用例

如何编写测试用例用例的五个构成元素:用例标题前置条件测试步骤期望结果后置条件下面从这五个元素的角度,去剖析如何编写测试用例用例标题用例标题就是测试点名称。用例标题是用来说明这个用例的测试目的的,好的用... 查看详情

一个简单用例上的 Neo4j 节点持久性问题

...间】:2012-11-1223:26:33【问题描述】:我目前正在实施一些测试示例来学习neo4j和spring数据,感谢cineast项目和其他示例,例如spring-datahello-worlds...不幸的是,我现在面临一个我不明白的问题,即使我已经在我的代码和其他示例代码... 查看详情

OCUnit - 测试用例失败时中断?

...一点?【问题讨论】:【参考方案1】:有很多解决方案如何实现这一点,仅举几例:给[SenTestC 查看详情

python测试框架:如何执行pytest测试用例

参考技术Apytest执行目录下所有用例pytest脚本名称.py执行某一个py文件下用例pytest-mxx执行@pytest.mark.xx装饰器修饰的所有测试pytest-q脚本名称.py简单打印,只打印测试用例的执行结果pytest-s脚本名称.py详细打印pytest脚本名称.py-x遇到... 查看详情

在 XCTest 中的每个测试用例之后停止应用程序终止

】在XCTest中的每个测试用例之后停止应用程序终止【英文标题】:StopappterminationaftereachtestcaseinXCTest【发布时间】:2016-11-1812:47:29【问题描述】:我是XCTest的新手,我的应用程序有一个小示例项目,其中有10个测试用例,每个测试... 查看详情

如果第二次测试失败,cypress 将停止执行,但我需要继续运行其他测试?在赛普拉斯

】如果第二次测试失败,cypress将停止执行,但我需要继续运行其他测试?在赛普拉斯【英文标题】:If2ndtestisfailedcypresswillstoptheexecutionbutineedtocontinuetorunothertests?inCypress【发布时间】:2020-01-0908:42:27【问题描述】:当第二个测试... 查看详情

如何使 JUnit 测试用例按顺序运行?

】如何使JUnit测试用例按顺序运行?【英文标题】:HowtomakeJUnittestcasestoruninsequentialorder?【发布时间】:2012-03-2821:42:02【问题描述】:我正在使用JUnit4。我在一个测试用例中有一套测试方法。每个测试方法插入一些记录并验证一个... 查看详情