黄瓜/小黄瓜:在不同的步骤定义

时间:2018-03-29 16:37:08

标签: groovy cucumber rest-assured gherkin

我是Cucumber和小黄瓜世界的新手。我想知道是否有一种在不同步骤定义文件中共享变量的好方法? 对于我的例子:我有2个功能文件(GET和POST),它有2个步骤定义文件(GET和POST)。两个特征文件都有一个用于测试数据设置的通用步骤。所以我想我会将这个数据集移动到一个CommonSteps文件,我能够做到这一点。但是在这个数据设置方法中,我正在为变量赋值,需要在2步定义文件(GET和POST)中使用。我的问题是如何通过Gherkin实现这一点?

1 个答案:

答案 0 :(得分:0)

在不同步骤类中定义的步骤之间共享状态为@Marit表示使用依赖注入完成。

其他类型的Cucumber使用共享的World对象。您可以使用public static变量来共享状态,但由于状态可能在步骤之间泄漏,因此很麻烦。您最终可能会遇到这样的情况:步骤开始依赖于彼此依赖的共享变量,该变量在每次执行之前都不会重置。依赖于其他步骤的步骤是Cucumber社区的一个众所周知的问题,您需要不惜一切代价避免这些步骤。

Cucumber支持一些不同的依赖注入框架。如果您的项目已经使用了依赖注入框架,请查看您是否可以在Cucumber方案中使用相同的方法。如果您不使用任何依赖注入框架,我建议使用PicoContainer。

我写了一些关于一些不同选项的博客文章:

它们都是基于Java的。我假设可以将它们与Groovy一起使用,但我还没试过。