我的rspec标题测试失败了:
1) HomeController Get 'index should have the right title
Failure/Error: response.should have_selector("title",
expected following output to contain a <title>TitleTest</title> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
# ./spec/controllers/home_controller_spec.rb:13
我的家庭控制器有:
def index() @title =“TitleTest” 端
我的观点(application.html.erb)有:
<title><%= @title %></title>
运行rails服务器显示我的标题确实已设置,这里有什么问题?
答案 0 :(得分:2)
确保在控制器规范中将其设置为render_views
。否则,rspec将无法查看。只需在描述控制器块后添加该位代码即可。
更新:您可以找到一个示例here
答案 1 :(得分:1)
'render_views'绝对是必需的。我也遇到了类似的情况,我的问题是我没有在执行期望之前检索页面。换句话说,结构应该是:
describe...
it... # previous expectation
it...
get 'mypage'
response should...
我错误地认为我不需要获取'mypage'并且我可以重复使用之前预期的响应