0
更新:私はdiffを誤読してしまったので、比較の片側に文字列または記号があります。しかし、私はこのテストで期待をどのように置くべきかまだ分かりません。Rspecと一致するActiveRecordの結果セット
私はRspecとTDDを一般的に使い慣れています。
def index
@users = User.page(params[:page])
end
(私はページ付けするKaminaraを使用しています)
そしてスペック:
describe "when the user DOES have admin status" do
login_admin_user
it "should allow the user access to the complete user list page" do
get :index
response.response_code.should == 200
end
describe "and views the /users page" do
before(:each) do
User.stub(:page) {[ mock_model(User), mock_model(User), mock_model(User) ]}
end
it "should show all users" do
get :index
assigns (:users).should =~ User.page
end
end
end
スペックは以下で失敗します。
Failure/Error: assigns (:users).should =~ User.page
expected: [#<User:0x5da86a8 @name="User_1004">, #<User:0x5d9c90c @name="User_1005">, #<User:0x5d93ef6 @name="User_1006">]
got: :users (using =~)
Diff:
@@ -1,4 +1,2 @@
-[#<User:0x5da86a8 @name="User_1004">,
- #<User:0x5d9c90c @name="User_1005">,
- #<User:0x5d93ef6 @name="User_1006">]
+:users
私はこれを行うコントローラを持っています
これらの結果セットは同じように見えます。なぜこの仕様は失敗するのですか?前もって感謝します!
はい、クラックしました。ありがとう! – theflyingbrush