post_controller_spec.rb故障/錯誤:受讓人(:文章)。應該EQ([文章])
require 'spec_helper'
describe Blog::PostsController do
let!(:posts) { FactoryGirl.create_list(:post, 3) }
let!(:post) { posts.first }
describe "GET index" do
it "renders the :index view" do
get :index
assigns(:posts).should eq([post])
response.should render_template :index
end
end
describe "GET show" do
context "invalid post" do
before do
get :show, :id => 99
end
it "redirects to the 404 page" do
response.should render_template(:file => "#{Rails.root}/public/404.html")
end
end
context "valid post" do
it "show page" do
get :show, id: post
assigns(:post).should eq(post)
response.should render_template :show
end
end
end
end
這是我的索引行動:
def index
@posts = Post.all.order_by(created_at: :desc).page(params[:page])
respond_to do |format|
format.html
end
end
我得到這個錯誤:
1) Blog::PostsController GET index renders the :index view
Failure/Error: assigns(:posts).should eq([post])
expected: [#<Post _id: 517ebb98a616542f41000002, created_at: 2013-04-29 18:27:36 UTC, updated_at: 2013-04-29 18:27:36 UTC, image_filename: nil, impressions_count: nil, tags: ["tag1", "tag2", "tag3", "tag4"], _slugs: ["post-number-1"], title: "Post number 1", content: "[\"Maiores dolor illum distinctio eveniet perspiciatis necessitatibus consequatur. Dicta ratione repellat ullam sit sed inventore voluptatem. Possimus magni cum dolores rerum voluptas quibusdam. Sed rerum atque accusantium amet aut.\", \"Consequatur ab eum voluptatem voluptatem sit et. Natus soluta quam sed quasi vel odio assumenda. Nulla excepturi dicta voluptatem voluptas vel sit.\"]", image: nil, image_cache: nil, remove_image: nil, admin_id: "517ebb98a616542f41000001">]
got: #<Mongoid::Criteria
selector: {}
options: {:sort=>{"created_at"=>-1}, :limit=>9, :skip=>0}
class: Post
embedded: false>
(compared using ==)
Diff:
@@ -1,2 +1,6 @@
-[#<Post _id: 517ebb98a616542f41000002, created_at: 2013-04-29 18:27:36 UTC, updated_at: 2013-04-29 18:27:36 UTC, image_filename: nil, impressions_count: nil, tags: ["tag1", "tag2", "tag3", "tag4"], _slugs: ["post-number-1"], title: "Post number 1", content: "[\"Maiores dolor illum distinctio eveniet perspiciatis necessitatibus consequatur. Dicta ratione repellat ullam sit sed inventore voluptatem. Possimus magni cum dolores rerum voluptas quibusdam. Sed rerum atque accusantium amet aut.\", \"Consequatur ab eum voluptatem voluptatem sit et. Natus soluta quam sed quasi vel odio assumenda. Nulla excepturi dicta voluptatem voluptas vel sit.\"]", image: nil, image_cache: nil, remove_image: nil, admin_id: "517ebb98a616542f41000001">]
+#<Mongoid::Criteria
+ selector: {}
+ options: {:sort=>{"created_at"=>-1}, :limit=>9, :skip=>0}
+ class: Post
+ embedded: false>
# ./spec/controllers/blog/posts_controller_spec.rb:8:in `block (3 levels) in <top (required)>'
我的表演動作,通過測試。我在哪裏有索引操作的錯誤?
謝謝,現在,我得到一個額外的元素的錯誤:'額外的元素是:[#
hyperrjas
2013-04-30 08:37:36
啊對,我看你有FactoryGirl創建3個帖子。這就說得通了。更新了我的答案。 – 2013-04-30 12:41:17
謝謝你的回覆工作正常:)。問候! – hyperrjas 2013-04-30 13:26:43