首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在网站中包含黄瓜的世界概念-棱镜

在网站中包含黄瓜的世界概念-棱镜
EN

Stack Overflow用户
提问于 2013-05-23 18:51:55
回答 3查看 674关注 0票数 1

如何在网站棱镜中包含黄瓜的世界概念?这样我就可以在World中包含test_site类,而不必每次都在单步执行函数中实例化test_site类。有可能吗?

我使用的是带有Capybara和site-prism的Ruby;而不是rails!

我的test_site类是:

代码语言:javascript
复制
class TestSite
  def home
    TestHomePage.new
  end
end

我不能这样做吗?

代码语言:javascript
复制
module Some
  class TestSite
    def home
      TestHomePage.new
    end
  end
end

World(Some)
EN

回答 3

Stack Overflow用户

发布于 2013-08-04 21:47:00

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

  • http://rdoc.info/gems/site_prism/file/README.md#Epilogue
票数 1
EN

Stack Overflow用户

发布于 2014-06-02 15:09:46

我找到了我的问题的答案。

按照Nat的建议,我遵循了以下SitePrism自述文件:

[http://rdoc.info/gems/site_prism/file/README.md#Epilogue][1]

我将App class更改为Module,并在支持文件中使用了World(App),因此每当我需要在步骤定义中使用元素时,我只需提供page_name.element_name.click而不是@app.page_name.element_name.click

我将下面的类更改为Module,并将该模块包含在World中作为World(App)

class App def home Home.new end end

修改为

Module App def home Home.new end end

如果我把类改成模块会有什么问题吗??对我来说,一切似乎都很好,在我继续之前,想要确认一下。

票数 1
EN

Stack Overflow用户

发布于 2018-10-10 02:18:46

您可以创建一个模块来返回所需的所有页面。在support文件夹中,在此文件中创建一个object_factory.rb,您可以添加:

代码语言:javascript
复制
Module Pages
   def my_page
     MyPage.new 
   end
end

在文件env.rb中,您可以插入:

代码语言:javascript
复制
require_relative 'object_factory'

代码语言:javascript
复制
World(Pages)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16712039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档