【问题标题】:cannot run anymore single SitePrism feature specs无法再运行单个 SitePrism 功能规格
【发布时间】:2019-11-04 03:58:51
【问题描述】:

发生了一些事情,过去在 master 上运行良好的旧测试不再运行了

如果我运行整个规范套件(使用$ rspec),一切都在绿色中。
我有几个使用SitePrismfeature 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


    【解决方案1】:

    没关系,
    $ rspec spec/support/pages/user_log_in_page.rb
    永远不会运行,因为这是一个应该从其他规范调用的页面,例如
    $ rspec spec/features/user_log_in_spec.rb
    (确实有效)

    这里没什么可看的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多