繁体   English   中英

常用哪些黄瓜标签? 我“可以” /“应该”使用“如何” /“以何种方式”?

[英]What Cucumber tags are commonly used? “How”/“In which ways” I “could”/“should” use those?

我在cucumber-rails gem中使用Ruby on Rails 3.2.2和Cucumber。 我想知道在整个应用程序中通常使用哪种Cucumber标签,或者至少我应该考虑哪些标准才能使标签“有效” /“有用”。 另外,我想知道“我”“应该” /“应该”以哪种方式使用黄瓜标签。

标签最常用于选择或排除某些测试。 您的具体情况将决定哪些“测试组”对于特定测试运行对于运行或不运行是有用的,但是一些常见的示例可能是:

  • @slow表示需要花费很长时间才能运行的测试,您可能希望将其从大多数测试运行中排除,而仅在通宵的构建中运行,这样开发人员不必每次都等待它。
  • @wip表示该测试行使未完成的功能,因此在该功能处于开发阶段时(如果完成,将删除@wip标记)可能会@wip 这在Cucumber中具有特殊意义,因为如果任何@wip测试实际通过,它将返回一个非零的退出代码。
  • @release_x@sprint_y@version_z等很多球队标记的信息每次测试哪个版本/冲刺/版本包含它,以便他们可以在开发期间运行测试最小套件。 通常与@wip标记相同,不同之处在于它们保持附着在测试中,因此它们始终知道何时引入了特定功能。
  • @payments@search@seo等,基本上那是不是已经被你的特性文件的组织表示任何测试逻辑分组。 通常在测试涉及跨领域关注时,或者在您的项目按照功能文件的不同行分成多个组件时使用。

标签还用于触发挂钩-可以在使用特定标签进行测试之前,之后或“前后”运行的代码位。 例如:

  • @javascript表示测试需要Javascript支持,因此该钩子可以从仅HTTP驱动程序切换为具有JS支持的驱动程序。 如果发现了@desktop@mobile会自动切换到以该标签命名的驱动程序,从而@desktop (因此,您可以使用@desktop@mobile@tablet驱动程序)
  • @logged_in指示测试需要在已登录用户的上下文中运行,尽管使用“背景”部分会更常用,但这有时可以用标记来表达

此外,标签仅可用于提供信息。 我见过团队用相关的问题编号,作者,开发人员来标记测试,其中许多都是有用的(但是其中许多重复的信息很容易在源代码管理中找到,因此我要特别注意) 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM