SitePrism页面未初始化的常量错误

时间:2014-09-08 15:21:35

标签: ruby rspec site-prism

我已将此添加到我的spec_helper:

require 'capybara'
require 'capybara/dsl'
require 'capybara/rspec'
require 'selenium-webdriver'
require 'site_prism'

我的页面是这样的:

class AboutPage < SitePrism::Page
end

我的rspec是这样的:

require_relative 'spec_helper'

describe 'About Page' do

  it "test" do
    about = AboutPage.new
  end

end

我不断得到的错误是:

故障:

1)关于页面测试      失败/错误:about = AboutPage.new      NameError:        未初始化的常量AboutPage      #。/ about_spec.rb:6:在&#39;

中的块(2级)

3 个答案:

答案 0 :(得分:0)

如果AboutPage不在controller的根路径中,则必须使用如下命名空间来调用它:

about = SomeNameSpace::AboutPage.new

答案 1 :(得分:0)

看起来我需要添加到我的spec_helper.rb:

require_relative about_page.rb

在使用之前,您需要在规范文件中使用所有页面。

答案 2 :(得分:0)

如果您使用rspec将所有网站棱镜对象都放在spec/page_objects中,则可以将此行添加到rails_helper.rb

Dir[Rails.root.join('spec/page_objects/**/*.rb')].each { |f| require f }

这将自动需要about_page.rb和任何其他页面对象,包括子文件夹。