我只是想找出为什么我需要将它定义为实例变量?为什么不在当地?我知道@home可以在所有步骤def方法中共享。没有这个还有其他具体原因吗?请帮助我理解除了我所知道的原因。
When /^I navigate to the google home page$/ do
@home = Home.new
@home.load
end
答案 0 :(得分:1)
唯一的原因是步骤之间的共享。如果只在一步中需要对象,那么它可以是局部变量。如果@home没有在任何其他步骤中使用,那么您的示例可能会变成
When /^I navigate to the google home page$/ do
Home.new.load
end
答案 1 :(得分:0)
之所以在SitePrism的示例中将它们用作实例变量是因为该示例使用Cucumber,并且所有实例变量都可以在单个World上下文中访问。