私は、すべてではないにしても、ほとんどのデータがcurrent_organization
にスコープされているアプリで作業しています。だから私のコントローラの私の検索の呼び出しで、私は、例えば、このようなものを持っている:mochaとtest/unitを使ってRails関連メソッドを正しくスタブするには?
def show
@user = current_organization.users.find(params[:id])
end
はしかし、私のコントローラのテストで、私は適切な方法(または任意の方法)を考え出す苦労を抱えているスタブに私はのようなものをテストすることができるように、これらの呼び出し:
get :show, :id => 1
assert_response :success
ものは何でもか「ARは、ID = 1とORGANIZATION_ID = 3を持つユーザーを見つけることができません」と言って失敗しています。私が何をしようと、私はそれを回避することはできません。 AR find()
コールは、基本的な配列のために存在しないためcompany.stubs(:users).returns([users(:one), users(:two)])
が、それは動作しません:私はのようなものをやってみました
setup do
company = organizations(:company) # fixture
@controller.stubs(:current_organization).returns(company)
# now what do I stub, if anything?
end
:
マイセットアップブロックは次のようになります。
偽のユーザーアレイをfake_users
のような変数に設定してから、fake_users.stubs(:find).returns(@user)
のようにする必要がありますか?それは正しいとは思えませんでしたが、それが正しい方法かもしれません。
私はこれを処理する最良の方法を探しています。それが重要であれば、私はmochaとtest/unitを使っています。
ありがとうございます!
ありがとう、それは私が必要とするもののために動作するはずです。 – rpheath