1. foloinfo

    Posted

    foloinfo
Changes in title
+Paperclip with S3な画像アップロードをRSpec+WebMockな環境でテストする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,23 @@
+タイトルの通りです。
+幾つかやり方はあるみたいですが、自分の環境下(WebMock+RSecでテスト。Paperclip+S3でファイルアップロード)では
+
+```rb
+AWS.config(:access_key_id => "TESTKEY", :secret_access_key => "TESTSECRET", :stub_requests => true)
+Image.any_instance.stub(:save_attached_files).and_return(true)
+@image = fixture_file_upload('/files/test.gif', 'image/gif')
+```
+
+で可能になりました。
+テスト用のファイルは`spec/fixtures/files/`以下に置きます。
+`Image`は利用しているファイルを所有するモデルです。
+
+後は`@image`を適当な所で使えばおkです。
+
+`AWS`の設定部分が記述されていないと
+
+```rb
+ WebMock::NetConnectNotAllowedError:
+ Real HTTP connections are disabled. Unregistered request: PUT https://...
+```
+
+となってしまいました。