Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.1控制器中的Rspec测试失败;邮政';创建'&引用;_Ruby On Rails_Ruby On Rails 3_Rspec2_Rspec Rails - Fatal编程技术网

Ruby on rails Rails 3.1控制器中的Rspec测试失败;邮政';创建'&引用;

Ruby on rails Rails 3.1控制器中的Rspec测试失败;邮政';创建'&引用;,ruby-on-rails,ruby-on-rails-3,rspec2,rspec-rails,Ruby On Rails,Ruby On Rails 3,Rspec2,Rspec Rails,我有一个测试失败了,我就是不知道如何让它工作。 这是“POST Create”部分中的It“应该有正确的标题”测试。 这是一个Rails 3.1应用程序,下面是我的gem测试文件: 组:测试do gem'turn',:require=>false 创业板“迷你测试” gem'spork','>0.9.0.rc' 宝石“守卫斯波克” gem“guard rspec” 宝石“网鼠” gem“工厂女孩轨道”,“>1.0” 宝石摩卡 gem'rspec rails' 结束 我的邮政管理员 class

我有一个测试失败了,我就是不知道如何让它工作。 这是“POST Create”部分中的It“应该有正确的标题”测试。 这是一个Rails 3.1应用程序,下面是我的gem测试文件:

组:测试do
gem'turn',:require=>false
创业板“迷你测试”
gem'spork','>0.9.0.rc'
宝石“守卫斯波克”
gem“guard rspec”
宝石“网鼠”
gem“工厂女孩轨道”,“>1.0”
宝石摩卡
gem'rspec rails'
结束
我的邮政管理员

class PostsController
Rspec测试-我已将渲染视图添加到文件中

描述“POST'create'”do
描述“成功”是什么
在…之前做
@attr={:title=>“Foo”,:content=>“Bar”}
结束
它“应该创建一个新的帖子”吗
lambda do
post:create,:post=>@attr
flash[:注意]。不应该为零
end.should更改(Post,:count).by(1)
结束
它“应该重定向到post show页面并显示成功消息”do
post:create,:post=>@attr
flash[:注意].should=~/post已成功创建/i
response.should将_重定向到post_路径(赋值(:post))
结束
它“应该有正确的标题”吗
post:create,:post=>@attr
response.should有_选择器(“title”,:content=>赋值(:post.title)
结束
结束
结束
只有最后一次测试失败。 错误消息:

在6.49秒内完成
11例,1例失败
失败的示例:
rspec./spec/controllers/posts_controller_spec.rb:62#PostsController POST'create'成功应该有正确的标题
运行:spec/controllers/posts\u controller\u spec.rb
F
失败:
1) PostsController发布“创建”成功应具有正确的标题
失败/错误:response.should_选择器(“title”,:content=>assigns(:post.title)
预期以下输出包含Foo标记:
你是在逃避责任。
#./spec/controllers/posts\u controller\u spec.rb:64:in'block(4层)in'

任何关于这一失败原因的帮助都将不胜感激。

您愿意做一些根本不会发生的事情

由于您重定向,因此响应为:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>You are being <a href="http://test.host/posts/980190963">redirected</a>.</body></html>

你是在逃避责任。

最好测试新对象本身。

谢谢。我自己才意识到:)