栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

为了在步骤之间共享共同点,您需要使用World。在Java中,它没有在Ruby中那么清晰。

引用黄瓜的创建者。

“世界”的目的是双重的:

  1. 隔离方案之间的状态。

  2. 在场景中的步骤定义和挂钩之间共享数据。

具体实现方式是特定于语言的。例如,在ruby中,

self
步骤定义中的隐式变量指向当前场景的World对象。默认情况下,这是Object的实例,但是如果您使用World钩子,则可以是您想要的任何对象。

在Java中,您有许多(可能已连接)World对象。

与Cucumber-Java中的World等效的是 所有带有hook或stepdef注释的对象 。换句话说,任何带有@ Before,@
After,@ Given等方法的类的实例对于每种情况都将被实例化一次。

这实现了第一个目标。要实现第二个目标,您有两种方法:

a)对所有步骤定义和钩子使用单个类

b)使用按责任划分的几个类[1],并使用依赖注入[2]将它们彼此连接。

选项a)很快就崩溃了,因为您的步骤定义代码变得一团糟。这就是为什么人们倾向于使用b)。

[1] https://cucumber.io/docs/gherkin/step-
organization/

[2] PicoContainer,Spring,Guice,Weld,OpenEJB,Needle

可用的依赖注入模块为:

  • Cucumber skin container

  • Fresh Cucumber Juice

  • Cucumber openejb

  • Cucumber spring

  • Cucumber welding

  • Cucumber needle

原始帖子在这里https://groups.google.com/forum/#!topic/cukes/8ugcVreXP0Y。

希望这可以帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号