rails(3.0.1)
fakefs(0.2.1)
ペーパークリップ(2.3.4)
rspec(2.0.1)
モデルをrspecでテストしています。これはテストなので、ペーパークリップのようにパブリックディレクトリにファイルが作成されないようにします。この回避策は、偽物を使用することだと思います。
私はこれを実装しましたが
http://trevorturk.com/2008/12/11/easy-upload-via-url-with-paperclip/
この行を入れないと、リモートURLから画像を保存できるようになります
FakeFS::SpecHelpersを含める
私のrspecでfakefsをアクティブ化するために、それはうまく機能します(そして、私がテストしたくないpublic / system ...の下にファイルを作成します)
偽物を有効にすると、何らかの理由で、次のようなエラーが発生します
一時ファイル`/tmp/stream20101027-704-adna7o-9.gif'を生成できません
メソッドで
def download_remote_image
self.image = do_download_remote_image
^ happening in this method
self.image_remote_url = image_url
end
/ tmpのアクセス許可はdrwxrwxrwtなので、誰でも書き込むことができると思います。
これが私の質問です。
- ペーパークリップ関連のメソッドをテストするために偽物を使用するべきではありませんか?
- そのようなテストのためのペーパークリップファイルの作成を気にする必要はありませんか?または問題を解決する他の方法はありますか?