Rails3+RSpecで、テストデータとしてDBではなくファイルを配置したいときはどうすればいいですか?


DBにテストデータを用意したい場合は、fixtureの仕組みを使うのは知ってますが、「あるディレクトリにあるファイルが置いてある状態」をテストの初期状態としたい場合は、どのようにしてそのファイルをそのディレクトリに置けばいいでしょうか。

できれば、fixtureみたいな便利な仕組みがあるならそれを教えて欲しいです。そういうのが無いなら、みんなどうやってるのかを聞きたいです。

自分で考えた方法としては、どこかに用意しておいて、before do〜endの中でファイルをコピーする、というのはありますが、それでいいのでしょうか。

よろしくお願いします。

回答の条件
  • 1人50回まで
  • 13歳以上
  • 登録:2012/11/08 11:40:07
  • 終了:2012/11/15 11:45:03

回答(1件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202012/11/08 12:22:10

ポイント200pt

テストデータの雛形ファイルを用意し、実際にはテストの度に必要なオブジェクトを生成するという手法がとられます。
そのためのツールとして、FactoryGirlがあります。
https://github.com/thoughtbot/factory_girl

has_manyなフィクスチャを書くのに疲れたらFactory Girlがオススメ!

http://www.func09.com/wordpress/archives/532

id:nacookan

???

これは結局、DBにテストデータを入れたいときに使うんですよね?
今回の質問は、DBではなく、「RSpecの際にあるディレクトリにあるファイルを配置したい」というときにどういう方法があるか、というものです。

それともFactoryGirlを使うとDBだけじゃなくファイルも配置できるんでしょうか?調べたけどやり方が見つかりませんでしたので、もしできるなら教えてください。

2012/11/08 12:39:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません