0

我已将此添加到我的 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: uninitialized constant AboutPage # ./about_spec.rb:6:in `block (2 levels) in '

4

3 回答 3

0

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

about = SomeNameSpace::AboutPage.new
于 2014-09-09T06:57:53.653 回答
0

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

require_relative about_page.rb

您在规范文件中使用的所有页面都必须是必需的,然后才能使用。

于 2014-09-12T17:50:54.277 回答
0

如果您的所有站点 prism 对象都在 中spec/page_objects,使用 rspec,您可以将此行添加到rails_helper.rb

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

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

于 2017-02-03T23:02:23.580 回答