1
我正在用我的RoR应用程序编写测试。我static_pages_spec.rbrspec测试中的奇怪行为
# encoding: utf-8
require 'spec_helper'
describe "Static pages" do
subject { page }
describe "Home page" do
before { visit root_path }
it { should have_selector('h1', text: 'Giripedia') }
it { should have_selector('title', text: full_title('')) }
it { should_not have_selector 'title', text: '| Home' }
end
describe "Help page" do
before { visit help_path }
it { should have_selector('h1', text: 'Yardım') }
it { should have_selector('title', text: full_title('Help')) }
end
describe "About page" do
before { visit about_path }
it { should have_selector('h1', text: 'Hakkımızda') }
it { should have_selector('title', text: full_title('About Us')) }
end
describe "Contact page" do
before { visit contact_path }
it { should have_selector('h1', text: 'İletişim') }
it { should have_selector('title', text: full_title('Contact')) }
end
end
,并在我的规格/支持/ utilites.rb文件
def full_title(page_title)
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
"#{base_title} | #{page_title}"
end
end
如果我改变base_title = “Giripedia论坛”。测试失败并给我错误:
1) Static pages Home page
Failure/Error: it { should have_selector('title', text: full_title('')) }
expected css "title" with text "Giripedia forum" to return something
# ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in <top (required)>'
2) Static pages Help page
Failure/Error: it { should have_selector('title', text: full_title('Help')) }
expected css "title" with text "Giripedia forum | Help" to return something
# ./spec/requests/static_pages_spec.rb:21:in `block (3 levels) in <top (required)>'
3) Static pages About page
Failure/Error: it { should have_selector('title', text: full_title('About Us')) }
expected css "title" with text "Giripedia forum | About Us" to return something
# ./spec/requests/static_pages_spec.rb:28:in `block (3 levels) in <top (required)>'
4) Static pages Contact page
Failure/Error: it { should have_selector('title', text: full_title('Contact')) }
expected css "title" with text "Giripedia forum | Contact" to return something
# ./spec/requests/static_pages_spec.rb:35:in `block (3 levels) in <top (required)>'
为什么base_title中的更改开始在测试中失败?
您是否也改变了网页中的标题? – sarnold
标题没有改变。我只改变了base_title。我使用助手方法进行测试。 – ytsejam
我发现我的错误,我没有更改我的真实application_helper.rb。我只更改了规格文件。我花了一个小时才看到错误。 – ytsejam