Rails で別のデータベース接続を使用しているモデルをテストする最良の方法は何ですか。たとえば、読み取り専用のモデル FooBar があります。
class FooBar < ActiveRecord::Base
establish_connection configurations['foo_bars']
# ...
end
適切な規則、ハック、またはプラグインはありますか?
Rails で別のデータベース接続を使用しているモデルをテストする最良の方法は何ですか。たとえば、読み取り専用のモデル FooBar があります。
class FooBar < ActiveRecord::Base
establish_connection configurations['foo_bars']
# ...
end
適切な規則、ハック、またはプラグインはありますか?
私の経験では、接続が確立されると、モデルを他のモデルと同じように扱うことができます。データ検証をテストする必要がないため、データを消費しているだけなので、一部のテストが簡素化されます。
明らかに、Rails は 2 つの異なるモデルの 2 つの異なるデータベースと通信しているため、データベース間で結合を行うことはできず、そこでもテストするものは何もありません。
では、次の質問に答えるために: 2 番目のデータベースを使用しているモデルをテストする最善の方法は何ですか? それが唯一のデータベースである場合にテストするのとまったく同じ方法です。
レガシーデータベースをラップするモデルでは、コードに特別な結び付きを追加して、物事をもう少し「Rails-y」にし、ビューとコントローラーのコードをそこにあるように見せ、そこにコードを入力する必要があることがわかりhas_one
ましbelongs_to
た。これらのカスタム メソッドを実行するテストがあります。
それが役立つことを願っています。