RSpec在我的帮助页面上说一切都很好,但不应该这样。什么会导致误报。 (我已多次重新启动我的测试套件。)
这是我的规格页面:
require 'spec_helper'
describe "Static pages" do
subject { page }
shared_examples_for "all static pages" do
it { should have_selector 'h1', text: heading }
it { should have_selector 'title', text: full_title(page_title) }
end
.
.
.
describe "Help page" do
before { visit help_path }
let(:heading) { 'Help' }
let(:page_title) { 'Help' }
end
.
.
.
end
这是我的帮助页面:
<% provide(:title, '') %>
<h1></h1>
<p>
Get help on the Ruby on Rails Tutorial at the
<a href="http://railstutorial.org/help">Rails Tutorial help page</a>.
To get help on this sample app, see the
<a href="http://railstutorial.org/book">Rails Tutorial book</a>.
</p>
它说测试通过了。怎么解决?
答案 0 :(得分:3)
看起来你错过了:
it_should_behave_like 'all static pages'
describe 'Help Page'
块中的。您已经为“所有静态页面”定义了共享示例,但没有告诉rspec“帮助页面”应该像一个行为。
另外,请查看this answer与非常相似的问题。它显示了如何重构您的规范以更清楚地表达意图。