[英]If my “Then I should see” Cucumber feature is failing, how can I see what Cucumber is seeing?
[英]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.