私のモデルにこのコードがあります。Rspecテストbelongs_to with shoulda_matchers
belongs_to :user, -> { includes :user_profile }
私は私がproc
がincludes
一部を含むことをテストする方法を発見していなかったshoulda docを通り抜けました。助けてください。
私のモデルにこのコードがあります。Rspecテストbelongs_to with shoulda_matchers
belongs_to :user, -> { includes :user_profile }
私は私がproc
がincludes
一部を含むことをテストする方法を発見していなかったshoulda docを通り抜けました。助けてください。
あなたのようにそれをテストすることができます(私は完全にこれを作ってるんだので、あなたは、囲むクラスの名前を投稿していない)問題のモデルがCar
命名されたと仮定すると:
describe 'user' do
let(:car) { create_car_somehow }
it 'preloads the user_profile association' do
expect(car.user.association(:user_profile)).to be_loaded
end
end
#association
のリターンメタデータを指定された関連付け(タイプActiveRecord::Associations::BelongsToAssociation
など)。返されたオブジェクトは#loaded?
に応答し、関連付けがロードされている場合はtrue
、それ以外の場合はfalse
を返します。
はどこに 'be_loaded'が定義されていますか?あなたはドキュメントへのリンクを投稿できますか? – Anthony
これは、オンザフライで定義された動的な[述語正規表現](https://www.relishapp.com/rspec/rspec-expectations/v/2-2/docs/matchers/predicate-matchers)です。基本的に 'expect(object).to be_foo'は' expect(object.foo?)。be_truthy'に自動的に変換されます。 –
AFAIK –