【问题标题】:Cucumber step definition local variables being re-used?黄瓜步骤定义局部变量被重用?
【发布时间】:2014-10-16 22:17:00
【问题描述】:

我一直在对黄瓜步骤定义局部变量进行相当多的研究,但我在任何地方都找不到黄瓜如何处理局部变量,而且我遇到了一些奇怪的行为,就好像它们不是局部变量一样。变量使用相同的内存地址并保持状态,例如:

Then(/^the password is "(.?*)"$/) do |password|
  puts password
  puts password.object_id
  password.concat("s")
end

变量 password 的输入将是相同的 - password1234、password1234、password1234,但输出将是:

password1234
32607252

password1234
32607240

password1234s
32607252

password1234ss
32607252

password1234s
32607240

注意对象地址 -32607252- 是如何被重用的,我用多个场景示例运行了这个,很多时候对象地址在不同的测试用例场景中是重复的,即使“s”的串联也会出现密码应该是一个局部变量。

我做错了吗?这是黄瓜虫吗?

【问题讨论】:

    标签: ruby cucumber


    【解决方案1】:

    我给黄瓜开发团队发了电子邮件,他们已经提出了一个问题来讨论这个问题

    https://github.com/cucumber/cucumber/issues/760

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2020-07-12
      相关资源
      最近更新 更多