gpt4 book ai didi

ruby - cucumber 步骤定义局部变量被重新使用?

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:05 25 4
gpt4 key购买 nike

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

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”的串联会出现,即使password 应该是一个局部变量。

我做错了什么吗?这是 cucumber 虫吗?

最佳答案

我给 cucumber 开发团队发了邮件,他们开了一个 issue 来讨论这个问题

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

关于ruby - cucumber 步骤定义局部变量被重新使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com