gpt4 book ai didi

ruby-on-rails - RSpec/Capybara 测试 have_selector 难题

转载 作者:行者123 更新时间:2023-12-04 13:38:44 24 4
gpt4 key购买 nike

这是来自 Michael Hartl 的 Ruby on Rails 教程第 2 版。第三版(目前是最新版)没有使用 RSpec 进行测试,所以我决定使用这本书。

我已经阅读了用户的解决方法,并且知道有不同的方法可以编写测试以使其工作,但我想使用 have_selector 来保持代码一致。任何解释/建议都会非常有帮助。
我不明白为什么下面的测试通过 h1 元素而不是 title 元素:

规范.rb:

describe "Static pages" do 

describe "Home page" do

it "should have the h1 'Sample App'" do
visit '/static_pages/home'
expect(page).to have_selector('h1', :text => 'Sample App')
end

it "should have the title 'Home'" do
visit '/static_pages/home'
expect(page).to have_selector('title',
:text => "Ruby on Rails Tutorial Sample App | Home")
end
end

主页.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ruby on Rails Tutorial Sample App | Home</title>
</head>
<body>
<h1>Sample App</h1>

</body>
</html>

最佳答案

尝试:

expect(page).to have_selector('title', 
:text => "Ruby on Rails Tutorial Sample App | Home",
:visible => false)

由于标题标签在 <head>元素,它被认为是隐藏的。指定 :visible => false包括在 have_selector 匹配器中考虑的那些标签。

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

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