【发布时间】:2019-11-04 03:58:51
【问题描述】:
发生了一些事情,过去在 master 上运行良好的旧测试不再运行了
如果我运行整个规范套件(使用$ rspec),一切都在绿色中。
我有几个使用SitePrism 的feature specs,我习惯单独调用它们来编写新的,但是如果从终端专门调用它们,它们都不再运行:
$ rspec spec/support/pages/user_log_in_page.rb
An error occurred while loading ./spec/support/pages/user_log_in_page.rb.
Failure/Error:
class UserLoginPage < SitePrism::Page
set_url "/"
def user_clicks_on_login_button
find(:xpath, "//a[@class='vr-link-footer'][text()='Login']").click
end
def user_enters_email(email)
find(:xpath, "//*[@id='user_email']").set(email)
end
NameError:
uninitialized constant SitePrism
# ./spec/support/pages/user_log_in_page.rb:3:in `<top (required)>'
Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
No examples found.
Randomized with seed 4425
Finished in 0.00037 seconds (files took 0.54282 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples
这是失败的支持页面之一:
# frozen_string_literal: true
class UserLoginPage < SitePrism::Page
set_url "/"
def user_clicks_on_login_button
find(:xpath, "//a[@class='vr-link-footer'][text()='Login']").click
end
def user_enters_email(email)
find(:xpath, "//*[@id='user_email']").set(email)
end
def user_enters_password(password)
find(:xpath, "//*[@id='user_password']").set(password)
end
def user_clicks_on_submit_button
find(:xpath, "//*[@id='vr-managed-form']/div[6]/div/input").click
end
end
我的spec/rails-helper.rb
拥有所需的一切,甚至更多:
require "spec_helper"
require "rspec/rails"
require "dry/monads/result"
require "dry/monads/maybe"
require "task_helper"
require "pundit/rspec"
require "capybara"
require "capybara/rspec"
require "selenium-webdriver"
require "site_prism"
require "database_cleaner"
require "webmock/rspec"
require "paper_trail/frameworks/rspec"
会是什么?
【问题讨论】:
标签: ruby-on-rails ruby rspec capybara site-prism