0

我只是想找出为什么我需要将它定义为实例变量?为什么不是本地的?我知道@home 可以在所有 step def 方法中共享。没有这个还有其他具体原因吗?请帮助我了解除我所知之外的原因。

When /^I navigate to the google home page$/ do
  @home = Home.new
  @home.load
end

这是链接网址:https ://github.com/natritmeyer/site_prism

4

2 回答 2

1

唯一的原因是在步骤之间共享。如果该对象仅在一个步骤中需要,那么它可以是一个局部变量。如果@home 没有在任何其他步骤中使用,您的示例可能会变成

When /^I navigate to the google home page$/ do
  Home.new.load
end
于 2016-07-11T16:40:17.443 回答
0

在 SitePrism 的示例中将它们用作实例变量的原因是因为该示例使用 Cucumber 并且所有实例变量都可以在单个 World 上下文中访问。

于 2019-02-22T13:29:08.597 回答