RSpec 检查标题
RSpec check title
请帮助我。我需要用 rspec、水豚测试视图标题。我有规格:
require 'rails_helper'
RSpec.describe 'static_pages/home' do
it "display correct title" do
render
expect(response).to have_title('Home page')
end
end
home.html.erb:
<!DOCTYPE HTML>
<html>
<head>
<title>djeje Home pagexbdkek</title>
</head>
<body>
<p>Hello</p>
</body>
</html>
RSpec 顺利通过,
但我需要检查标题是否与规范中的完全相同,而不仅仅是寻找子字符串。
您可以将其更改为 expect(page).to have_title("Home page", exact: true)
之类的内容,这应该会失败,因为它与页面标题不完全匹配。
Capybara RSpec 匹配器的选项与布尔方法相同 - http://www.rubydoc.info/gems/capybara/Capybara/Node/DocumentMatchers:has_title%3F
从那里你可以看到它需要一个字符串或一个正则表达式,并且有一个 exact
选项。因此,您可以执行以下任一操作
expect(response).to have_title(‘Home page’, exact:true)
或者
expect(response).to have_title(/\AHome page\z/)
请帮助我。我需要用 rspec、水豚测试视图标题。我有规格:
require 'rails_helper'
RSpec.describe 'static_pages/home' do
it "display correct title" do
render
expect(response).to have_title('Home page')
end
end
home.html.erb:
<!DOCTYPE HTML>
<html>
<head>
<title>djeje Home pagexbdkek</title>
</head>
<body>
<p>Hello</p>
</body>
</html>
RSpec 顺利通过, 但我需要检查标题是否与规范中的完全相同,而不仅仅是寻找子字符串。
您可以将其更改为 expect(page).to have_title("Home page", exact: true)
之类的内容,这应该会失败,因为它与页面标题不完全匹配。
Capybara RSpec 匹配器的选项与布尔方法相同 - http://www.rubydoc.info/gems/capybara/Capybara/Node/DocumentMatchers:has_title%3F
从那里你可以看到它需要一个字符串或一个正则表达式,并且有一个 exact
选项。因此,您可以执行以下任一操作
expect(response).to have_title(‘Home page’, exact:true)
或者
expect(response).to have_title(/\AHome page\z/)