【发布时间】:2012-12-12 17:11:08
【问题描述】:
我正在尝试将 RSpec 与 Mongoid 和 rails-api 一起使用。我使用的宝石是rspec-rails 和mongoid-rspec。除了这个小东西,一切都很好:
# users_controller_spec.rb
describe "GET index" do
it "assigns all users as @users" do
user = User.create! valid_attributes
get :index, {}, valid_session
assigns(:users).should eq([user])
end
end
# users_controller.rb
def index
@users = User.all
render json: @users
end
执行此操作时,我只会收到以下错误消息:
Failures:
1) UsersController GET index assigns all users as @users
Failure/Error: assigns(:users).should eq([user])
expected: [#<User _id: 50c8b84606027eb8aa000001, _type: nil, created_at: 2012-12-12 17:00:54 UTC, updated_at: 2012-12-12 17:00:54 UTC, name: "testuser", email: "testuser@gmail.com">]
got: #<Mongoid::Criteria
selector: {}
options: {}
class: User
embedded: false>
(compared using ==)
Diff:
@@ -1,2 +1,6 @@
-[#<User _id: 50c8b84606027eb8aa000001, _type: nil, created_at: 2012-12-12 17:00:54 UTC, updated_at: 2012-12-12 17:00:54 UTC, name: "testuser", email: "testuser@gmail.com">]
+#<Mongoid::Criteria
+ selector: {}
+ options: {}
+ class: User
+ embedded: false>
# ./spec/controllers/users_controller_spec.rb:41:in `block (3 levels) in <top (required)>'
【问题讨论】:
-
我也一样。不知道为什么。
标签: ruby-on-rails-3 rspec mongoid rails-api