2つのモデルを想定します。
class Foo < ActiveRecord::Base
has_many :bars
end
class Bar < ActiveRecord::Base
belongs_to :foo
end
および関連する備品:
foos.yml:
one:
...
バー.yml:
one:
foo: one
two:
foo: one
そしてテストケース:
test "fixtures equal?" do
foo = foos(:one)
assert_equal foo, foo.bars.first.foo
end
このテストは、単体テストフレームワークと機能テストフレームワークの両方で失敗します。私が得る失敗は次のようになります:
1) Failure:
test_fixtures_equal?(FooUnitTest) [test/unit/foo_test.rb:53]:
<#<Foo id: 980190962, created_at: "2012-05-18 21:47:27", updated_at: "2012-05-18 21:47:27">>
with id <70029939109360> expected to be equal? to
<#<Foo id: 980190962, created_at: "2012-05-18 21:47:27", updated_at: "2012-05-18 21:47:27">>
with id <70029939309000>.
私は何が間違っているのですか?同じオブジェクトを指すように前方ポインターと後方ポインターを取得するにはどうすればよいですか?両方のオブジェクトを同時に変更して変更を検証しようとしているので、これは特に重要ですが、bar.fooリンケージは「親」fooオブジェクトへの変更を認識していないため、テスト中に検証が失敗します。
悲しいかな、数時間を検索した後、私は多くの異なるアプローチを試しましたが、これを理解することができませんでした。
ありがとう!