无法创建新页面:SitePrism页面未初始化的常量错误

时间:2016-11-19 02:42:41

标签: ruby capybara site-prism

有几个类似的问题,但我的问题似乎有所不同,因为我基本上复制了一个当前正在运行的文件。

我加入了一个团队,最后一个人离开了黄瓜/红宝石框架,并设置了以下内容:

  • LIB /页/ page1.rb
  • 其中page1.rb = class PageOne< SitePrism ::页
  • 他们只是创建一个新对象:@new_page_one = PageOne.new

我在整个代码中搜索了他是否在任何地方“请求”或“包含”'page1.rb','page1'或'PageOne',但他没有,但即便如此在尝试创建新对象时起作用。

所以,现在我想创建一个新类,我只是将工作文件复制并粘贴到同一位置,并重命名如下:

  • LIB /页/ page2.rb
  • 其中page2.rb = class PageTwo< SitePrism ::页

我遇到的问题是,当我尝试创建一个新对象时,我收到此错误: - @new_page_two = PageTwo.new

NameError: uninitialized constant PageTwo

任何想法为什么第一个工作,复制/粘贴在这种情况下不?你可以建议我尝试一下吗?

2 个答案:

答案 0 :(得分:0)

最后,我发现了它。这似乎是这个特定项目的一个问题。

有一个文件正在实时加载CLASSES,虽然它们是硬编码文件名的一部分,因此找不到我的新文件,即

他们正在加载* 1.rb页面,而我制作了一个副本并将其重命名为page2.rb ...

答案 1 :(得分:0)

值得指出的是,将SitePrism与黄瓜一起使用将使用Cucumbers Autoloader,因此请确保在env.rb中手动覆盖此设置,因为在该页面中的某个部分之前定义页面会导致失败。

确保从内到外定义页面。即最小的部分(部分),然后是页面。