【问题标题】:Can Cucumber be used for forms testingCucumber可以用于表格测试吗
【发布时间】:2018-11-26 19:18:51
【问题描述】:

我一直在使用 Protractor 进行端到端的 Angular 测试,但现在我想使用 Cucumber 和 Gherkin 进行测试。由于它们用于 BDD 并使用功能和场景,我有一个问题:我可以使用 Cucumber 来测试角度形式,例如,如果我点击名称字段来测试隐藏的属性是否存在,像这样?或者如果一个按钮被禁用或没有?可以使用 Jasmine 或 Protractor 测试的东西。 我的代码其实已经写好了,不知道写完后测试会不会叫BDD?

非常感谢您说清楚

【问题讨论】:

  • 我不确定你在问什么。 Cucumber 可以用来驱动浏览器,angular 在浏览器中运行,是吗?
  • 您也可以将量角器与 cucumber-js 集成。 semaphoreci.com/community/tutorials/…
  • 我很确定 Cucumber 不会知道您何时编写测试。
  • 那么,你的意思是可以做到吗?而且我可以重新创建我在使用 Cucumber 之前编写的代码?

标签: html angular forms testing cucumber


【解决方案1】:

是的,不要太沉迷于“BDD”。理想情况下,Gherkin 场景将在任何开发工作开始之前编写,以确保整个团队 - PO、设计、开发人员、QA - 就预期的用户功能在同一页面上。但是,即使没有发生这种情况,Cucumber/Gherkin 在创建代码后仍然可以用于编写测试,以从用户的角度测试功能。

您绝对可以使用 Cucumber 来检查按钮是否被禁用,或者是否存在隐藏属性,但这并不是 BDD 测试的真正目的。这些正在测试用户行为,用户不太可能想要访问您的网站以检查是否存在隐藏属性。那有意义吗?您描述的测试听起来像是单元测试的绝佳候选者,而 Cucumber 的开销可能太多了。

【讨论】:

  • 是的,这是有道理的。但我想在这种情况下真正使用 BDD。我要测试的是表单的错误是否真的输出,以及在放置无效数据的情况下是否真的禁用了保存按钮。这是一项实验的一部分,该实验首先在 Jasmine(单一测试)和 Protractor 中完成,然后在 Cucumber 中完成。
  • 可以使用 Cucumber,但同样,BDD 是用户行为,因此您可能不应该这样做。如果有人输入了错误的输入,则由于按钮被禁用而无法继续不是用户行为。该测试属于金字塔的下方。 BDD 涵盖了用户想要访问您的网站的目的。用户不想访问您的网站来触发错误。
  • 如果有人输入了错误的输入,由于按钮被禁用而无法继续,这不是用户行为吗?我不能同意。我认为 OP 的测试完全是 BDD。是的,将 BDD 与角度形式集成并不容易。
猜你喜欢
  • 2015-07-25
  • 1970-01-01
  • 2018-06-24
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多