2015-09-07 92 views

回答

0

我想说的常识是你最好的朋友使用这些类型的框架的能力时...

IMO的主要原因要使用标签是:

1 :.在处理大量功能文件时,按功能分组您的功能

2 :.降低您在属于功能/功能标记的一组场景之前或之后需要执行的呼叫的复杂度(例如数据设置/拆卸)

如果您没有将其用于将测试分组或者降低测试套件的复杂性,那么你可能会做错了。

此外,使用标签系统火你的测试中黄瓜可以让你玩的,无副作用的黄瓜文件夹结构...

,如果你不使用黄瓜文件夹结构,并且不使用标签,然后将黄瓜不知道如何找到你的测试,你将不得不手动状态从哪里找到它们或递归需要的所有相关文件夹功能,您的工作

0
  1. 标签是一种分组方案。它们是@前缀字符串,您可以在Feature,Scenario,Scenario Outline或Examples关键字之上放置尽可能多的标签。空格字符在标签中无效,可能会将它们分开。

  2. 标记是从父元素继承的。例如,如果您将某个标签放置在某个功能上方,则该功能中的所有场景都会获得该标签。同样,如果将标签放置在场景大纲或示例关键字上方,则从示例行派生的所有场景都将继承这些标签。

  3. 您可以告诉Cucumber只运行具有特定标签的场景,或者排除使用特定标签的场景。

参考:https://cucumber.io/docs/reference#tags

1

标签的设计更改方案的运行条件。最常用的标签是@javascript,它(在Ruby世界中)改变了运行时设置,以便该场景在JavaScript能够正常工作的条件下运行。

另一个经典标签是@wip,基本上说,这是我目前正在研究的场景。这使我们可以告诉黄瓜只运行我们正在处理的场景。

我的建议是不要使用用例的标签此之外,特别是不要用标签:

  1. DO设置特定的场景 - 使用给定的,而不是
  2. 组的功能通过您网域的某些部分 - 改用您的功能的文件夹结构。

一般情况下最少使用标签。一些标签,我创建/使用

@selenium - 告诉黄瓜运行这个特定的设置,将打开一个实际的浏览器的情况。我在@wip中使用了很多,所以我可以看到我的场景在做什么

@slow - 告诉黄瓜这种特定场景运行成本高。这使我们不能每次都运行它