Ruby 将黄瓜的世界概念纳入现场棱镜

Ruby 将黄瓜的世界概念纳入现场棱镜,ruby,cucumber,capybara,site-prism,Ruby,Cucumber,Capybara,Site Prism,如何将黄瓜的世界概念纳入到场地棱镜中?这样我就可以在World中包含test_site类,而无需每次在step函数中实例化test_site类。可能吗 我正在使用Ruby与水豚和site prism;不是铁轨 我的测试站点类别是: class TestSite def home TestHomePage.new end end 我不能这样做吗 module Some class TestSite def home TestHomePage.new

如何将黄瓜的世界概念纳入到场地棱镜中?这样我就可以在World中包含test_site类,而无需每次在step函数中实例化test_site类。可能吗

我正在使用Ruby与水豚和site prism;不是铁轨

我的测试站点类别是:

class TestSite
  def home
    TestHomePage.new
  end
end
我不能这样做吗

module Some
  class TestSite
    def home
      TestHomePage.new
    end
  end
end

World(Some)

SitePrism自述文件对如何处理此问题提出了建议,请参见此处:


    • 我找到了问题的答案

      正如Nat所建议的,我在这里遵循SitePrism自述:

      [

      我将App类更改为Module,并在支持文件中使用了World(App),这样每当我需要在步骤定义中使用元素时,我就可以给出
      页面名称。元素名称。单击
      而不是
      @app.page\u name.element\u name。单击

      我将下面的课程改为模块,并将模块作为World(应用程序)包含在World中

      class应用程序
      def主页
      新家
      结束
      结束

      修改为

      模块应用程序
      def主页
      新家
      结束
      结束

      如果我将类更改为模块,是否有任何错误??
      对我来说,一切似乎都很好,希望在我继续之前得到确认。

      您可以创建一个模块来返回所有需要的页面。 在支持文件夹中,在此文件中创建一个
      对象_factory.rb
      ,您可以添加:

      Module Pages
         def my_page
           MyPage.new 
         end
      end
      
      在文件
      env.rb
      中,您可以插入:

      require_relative 'object_factory'
      


      模块页面中创建的对象将可用于您的所有步骤定义

      上面的代码中有两个额外的
      end
      s…抱歉…但这不是实际问题…现在更新。。。
      World(Pages)