Cucumber 是否可以将环境变量合并到葫芦的ruby脚本中?

Cucumber 是否可以将环境变量合并到葫芦的ruby脚本中?,cucumber,calabash,calabash-ios,Cucumber,Calabash,Calabash Ios,我正在一个应用程序上测试一个功能,它要求用户达到一定的年龄。只有当你第一次打开应用程序并注销应用程序时,你才会看到询问你年龄的提示。我不希望我的测试只执行登录和注销的步骤,以便能够看到此提示,但我也不希望在测试之间手动重置数据。这不是我们写脚本的原因吗?无论如何,在启动测试之前,我使用环境变量RESET\u BETWEEN\u SCENARIOS=1 cucumber features/my\u feature.feature。是否有一种方法可以在步骤定义中使用此变量,以便在运行脚本后它自己重置

我正在一个应用程序上测试一个功能,它要求用户达到一定的年龄。只有当你第一次打开应用程序并注销应用程序时,你才会看到询问你年龄的提示。我不希望我的测试只执行登录和注销的步骤,以便能够看到此提示,但我也不希望在测试之间手动重置数据。这不是我们写脚本的原因吗?无论如何,在启动测试之前,我使用环境变量RESET\u BETWEEN\u SCENARIOS=1 cucumber features/my\u feature.feature。是否有一种方法可以在步骤定义中使用此变量,以便在运行脚本后它自己重置数据

我不熟悉葫芦,但它似乎用的是黄瓜。如果是这种情况,您可以在每个场景之前或之后运行的before或after钩子中处理该操作

在features/support文件夹中,添加hooks.rb文件

Before() do
  if ENV['RESET_BETWEEN_SCENARIOS'] == '1'
    #code to reset data
  end
end

这也可以通过使用
after()do
在场景之后运行。同样的if/then也可以在场景步骤中使用。

感谢您的回复。我还不熟悉葫芦/黄瓜/红宝石,所以我忘了怎么用钩子。再次感谢。有关更完整的答案,请参阅: