1
我一直在尝试,失败,重构使用页面对象rspec的一些特点,但我有一个很难用它。如何创建页面对象类Rspec的特点
我不是一个有经验的开发回报率。可能这是一个基本的错误。
我有一个规范的特点是这样的:
require 'capybara/rspec'
feature 'Acessing the dashboard' do
scenario 'User see the dashboard after login' do
sign_in 'teste','123'
expect(page).to have_css 'h1', text: 'Dashboard'
end
def sign_in(login, password)
visit '/'
fill_in 'login', :with => login
fill_in 'password', :with => password
click_button 'Autenticar'
end
end
但是,我想通过一个登录页面对象这样的分享我的另一特点sign_in方法:
class LoginPage
include Capybara::DSL
def sign_in(login, password)
visit '/'
fill_in 'login', :with => login
fill_in 'password', :with => password
click_button 'Authenticate'
end
end
所以,我改变我的功能:
feature 'Acessing the dashboard' do
let(:login_page) { LoginPage.new }
scenario 'User see the dashboard after login' do
login_page.sign_in 'teste','123'
expect(page).to have_css 'h1', text: 'Dashboard'
end
end
但我收到以下错误:
Failure/Error: let(:login_page) { LoginPage.new }
NameError: uninitialized constant LoginPage
我真的不知道该怎么做。 我/spec/support/LoginPage.rb创建LoginPage类。这是对的吗?我应该把这个班放在其他路上吗?
有人可以帮我处理呢? 非常感谢。
你需要这个类在您的测试?或者你的代码有这样的东西是'spec_helper.rb'? :'Dir [Rails.root.join(“spec/support/**/*。rb”)]。each {| f |需要F}' – lcguida 2014-09-25 14:36:45
你好rockskull ..不,我没有在我的spec_helper代码块。现在它已经修复了。非常感谢... – 2014-09-25 14:45:34
Gald帮助。我已经把这个答案。 – lcguida 2014-09-25 14:48:44