Ruby 将黄瓜的世界概念纳入现场棱镜
如何将黄瓜的世界概念纳入到场地棱镜中?这样我就可以在World中包含test_site类,而无需每次在step函数中实例化test_site类。可能吗 我正在使用Ruby与水豚和site prism;不是铁轨 我的测试站点类别是: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
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)