如何使用Groovy在多个黄瓜步骤定义文件中共享变量

本·格林

我正在使用黄瓜jvm用Groovy编写测试。到现在为止,我已经将所有步骤定义都放在一个文件中,并且一切都运行良好。我现在想将步骤定义移到单独的文件中,因为我有很多定义。我遇到的问题是实例变量。我试图使步骤定义尽可能通用,因此任何带@注释的对象在返回一个称为response的对象时,所有带@then注释的定义都会在响应中声明某些内容。我的问题是,是否可以将这些文件存储在单独的文件中?我已经阅读了一些有关“世界”的内容,但是我不确定这是否是我想要的内容,尽管查看了github上的示例项目(https://github.com/cucumber/cucumber-jvm/blob/master/groovy/src/test/groovy/cucumber/runtime/groovy/compiled_stepdefs.groovy),我无法使它正常工作。

我想要达到的目标的一个例子是这样的:

 Scenario:
 When I say hello
 Then Hello should be printed

作为我的方案。然后,我想拥有两个共享变量的类,如下所示:

 class sayHello{

   def response     

   @When('^I say hello$')
   def iSayHello() {
     response = "hello"
   }
 }

 class printHello{

   @Then('^Hello should be printed$')
   def iPrintHello() {
     assert response == "hello"
   }
 }

我知道我可以使用spring将变量注入到类中,但是我想知道是否还有另一种方法,以及我是否在使用“ World”对象的正确轨道上。提前致谢

本·格林

我已经找到了使用groovy的mixin功能解决此问题的方法。mixin允许一个类继承另一个类的方法,并在运行时使用classes变量。

使用上面的示例,我的解决方案如下所示:

@Mixin(printHello)
class sayHello {

   @When('^I say hello$')
   def iSayHello() {
     response = "hello"
   }
}

class printHello {

   static def response

   @Then('^Hello should be printed$')
   def iPrintHello() {
      assert response == "hello"
   }
}

这使我能够从任何类中通用设置响应对象,然后在通用步骤文件中对其进行断言。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Groovy在多个黄瓜步骤定义文件中共享变量

来自分类Dev

如何在CucumberJS中的多个步骤定义文件中共享我的World实例?

来自分类Dev

如何定义稍后在 Julia 中共享的全局变量

来自分类Dev

如何在黄瓜步骤定义中使用 java switch 语句?

来自分类Dev

如何在并行的Bitbucket管道步骤中共享环境变量?

来自分类Dev

黄瓜-JVM步骤定义

来自分类Dev

如何在Qt Creator中共享构建步骤

来自分类Dev

在两个cpp文件的标头中共享定义的全局变量

来自分类Dev

黄瓜步骤定义局部变量是否被重用?

来自分类Dev

如何在angular v4 ts中共享变量并跟踪它在多个组件中的变化

来自分类Dev

如何在Flutter中共享PDF文件

来自分类Dev

<Cucumber-JVM>如何使用Java在黄瓜中定义“我想要”步骤?

来自分类Dev

<Cucumber-JVM>如何使用Java在黄瓜中定义“我想要”步骤?

来自分类Dev

asp.net,mvc:如何在多个cshtml文件中共享相同的下拉列表?

来自分类Dev

如何在黄瓜JVM步骤之间传递变量

来自分类Dev

如何在黄瓜中链接特征和步骤定义

来自分类Dev

使用TestNG进行黄瓜执行-有未定义的步骤

来自分类Dev

如何在多个模块中共享和使用一个RAM模块?

来自分类Dev

黄瓜:无法找到步骤定义

来自分类Dev

黄瓜未识别步骤定义

来自分类Dev

如何在OpenCL内核中使用多个用户定义的函数共享全局变量(数组)

来自分类Dev

如何在黄瓜cli之外定义和调用黄瓜步骤/场景?

来自分类Dev

如何在黄瓜cli之外定义和调用黄瓜步骤/场景?

来自分类Dev

如何使用共享选项在textview中共享可用内容

来自分类Dev

如何使用共享选项在textview中共享可用内容

来自分类Dev

在Java黄瓜步骤之间共享状态的实施

来自分类Dev

如何在Web会话中共享静态变量

来自分类Dev

如何在'joblib'Python库中共享变量

来自分类Dev

如何在单例类中共享变量

Related 相关文章

  1. 1

    如何使用Groovy在多个黄瓜步骤定义文件中共享变量

  2. 2

    如何在CucumberJS中的多个步骤定义文件中共享我的World实例?

  3. 3

    如何定义稍后在 Julia 中共享的全局变量

  4. 4

    如何在黄瓜步骤定义中使用 java switch 语句?

  5. 5

    如何在并行的Bitbucket管道步骤中共享环境变量?

  6. 6

    黄瓜-JVM步骤定义

  7. 7

    如何在Qt Creator中共享构建步骤

  8. 8

    在两个cpp文件的标头中共享定义的全局变量

  9. 9

    黄瓜步骤定义局部变量是否被重用?

  10. 10

    如何在angular v4 ts中共享变量并跟踪它在多个组件中的变化

  11. 11

    如何在Flutter中共享PDF文件

  12. 12

    <Cucumber-JVM>如何使用Java在黄瓜中定义“我想要”步骤?

  13. 13

    <Cucumber-JVM>如何使用Java在黄瓜中定义“我想要”步骤?

  14. 14

    asp.net,mvc:如何在多个cshtml文件中共享相同的下拉列表?

  15. 15

    如何在黄瓜JVM步骤之间传递变量

  16. 16

    如何在黄瓜中链接特征和步骤定义

  17. 17

    使用TestNG进行黄瓜执行-有未定义的步骤

  18. 18

    如何在多个模块中共享和使用一个RAM模块?

  19. 19

    黄瓜:无法找到步骤定义

  20. 20

    黄瓜未识别步骤定义

  21. 21

    如何在OpenCL内核中使用多个用户定义的函数共享全局变量(数组)

  22. 22

    如何在黄瓜cli之外定义和调用黄瓜步骤/场景?

  23. 23

    如何在黄瓜cli之外定义和调用黄瓜步骤/场景?

  24. 24

    如何使用共享选项在textview中共享可用内容

  25. 25

    如何使用共享选项在textview中共享可用内容

  26. 26

    在Java黄瓜步骤之间共享状态的实施

  27. 27

    如何在Web会话中共享静态变量

  28. 28

    如何在'joblib'Python库中共享变量

  29. 29

    如何在单例类中共享变量

热门标签

归档