gpt4 book ai didi

ruby-on-rails - have_selector 测试失败

转载 作者:行者123 更新时间:2023-12-01 12:41:19 25 4
gpt4 key购买 nike

我有一个问题,包括 rspec 的 should have_selector 问题:

这是我的代码:

describe "GET 'home'" do
it "returns http success" do
get 'home'
expect(response).to be_success
end

it "should have the right title" do
should have_selector("title",
:content => "Ruby on Rails Tutorial Sample App | Home")
end
end

我在顶部包含了以下内容:

RSpec.describe PagesController, :type => :controller do
render_views

我的 html5 有以下内容:

<title>Ruby on Rails Tutorial Sample App | Home</title>

我收到一条错误消息:

失败:

1) PagesController GET 'home' should have the right title
Failure/Error: should have_selector("title",
expected #<PagesController:0x007fceef586a90> to respond to `has_selector?`
# ./spec/controllers/pages_controller_spec.rb:14:in `block (3 levels) in <top (required)>

有人可以帮忙吗?

rspec-v3.0.2

rails 4.1.1

提前致谢。

最佳答案

默认情况下,Rspec 3 不在 Controller 规范中包含 capybara 匹配器。您可以通过执行以下操作为单个规范更改此设置

include Capybara::RSpecMatchers

或者,在您的规范助手中

  config.include Capybara::RSpecMatchers, :type => :controller

您的下一个问题是最近版本的 capybara 默认情况下不允许您测试是否存在不可见元素,并且 title 元素被认为是不可见的。您应该改用 have_title 匹配器。

关于ruby-on-rails - have_selector 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24348962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com