Cucumber 在黄瓜和小黄瓜中使用标签是否有最佳实践?

Cucumber 在黄瓜和小黄瓜中使用标签是否有最佳实践?,cucumber,gherkin,Cucumber,Gherkin,在Cucumber和Gherkin中使用标记是否有最佳实践?我想说,在使用框架的这些功能时,常识是你最好的朋友 在我看来,使用标记的主要原因是: 1:。根据功能对功能进行分组,这在处理大量功能文件时非常方便 2:。降低属于功能/功能标签(例如数据设置/拆卸)的一组场景之前或之后需要执行的调用的复杂性 如果您使用它不是为了对测试进行分组或降低测试套件的复杂性,那么您可能做得不对 另外,使用标签系统在cucumber中启动测试,可以让您在cucumber文件夹结构中玩游戏,而不会产生任何副作用 如果

在Cucumber和Gherkin中使用标记是否有最佳实践?

我想说,在使用框架的这些功能时,常识是你最好的朋友

在我看来,使用标记的主要原因是:

1:。根据功能对功能进行分组,这在处理大量功能文件时非常方便

2:。降低属于功能/功能标签(例如数据设置/拆卸)的一组场景之前或之后需要执行的调用的复杂性

如果您使用它不是为了对测试进行分组或降低测试套件的复杂性,那么您可能做得不对

另外,使用标签系统在cucumber中启动测试,可以让您在cucumber文件夹结构中玩游戏,而不会产生任何副作用

如果您不使用cucumbers文件夹结构,也不使用tag,那么cucumber将不知道如何找到您的测试,您将不得不手动声明在何处找到它们,或者递归地要求所有相关的文件夹使您的功能正常工作

  • 标记是对场景进行分组的一种方法。它们是@前缀字符串,您可以在功能、场景、场景大纲或示例关键字上放置任意数量的标记。空格字符在标记中无效,可能会将它们分隔开

  • 标记继承自父元素。例如,如果将标记放置在功能上方,则该功能中的所有场景都将获得该标记

  • 类似地,如果将标记放置在场景大纲或Examples关键字上方,则从Examples行派生的所有场景都将继承标记

  • 您可以告诉Cucumber只运行带有特定标记的场景,或者排除带有特定标记的场景


  • 参考:

    标记用于更改场景的运行时条件。最常用的标记是@javascript,它(在ruby世界中)更改了运行时设置,以便在javascript正常工作的条件下运行场景

    另一个经典标签是@wip,它基本上说,这就是我目前正在研究的场景。这允许我们告诉cucumber只运行我们正在处理的场景

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

  • 针对特定场景进行设置-使用给定的
  • 按域的某个部分对功能进行分组-改用功能的文件夹结构
  • 一般来说,尽量少使用标签。我创建/使用的一些标签

    @selenium
    -告诉cucumber使用将打开实际浏览器的特定设置运行此特定场景。我在@wip中使用了很多,这样我就可以看到我的场景在做什么

    @slow
    -告诉cucumber这个特定场景有很高的运行成本。这使我们不必每次都运行它