post_controller_spec.rb
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)>'
我的表演动作,通过测试。索引操作的错误在哪里?