2

リモートサーバーへのファイルの投稿(アップロード)を実装しています:

RestClient.post(server_url, :name_of_file_param => File.new('/myfile.txt','r'))

私はそれをテストすることに興味があります:それをどうにかしてテストすることは可能ですか?または、httpでファイルをアップロードできるオンラインサービスがあるのでしょうか。

server_urlこれはリモートサーバーであり、私の Railsアプリケーションではないことに注意してください。

4

1 に答える 1

1

簡単な方法は、機能テストを行うことです。これを行うには、通常、ネットワーク接続をモックします。アイデアについては、HTTP 接続とその結果をモックするための VCR gem をご覧ください: https://github.com/myronmarston/vcr

より詳細な方法は、ファイルをアップロードしてからダウンロードし、2 つを比較して同一であることを確認する往復テストを作成することです。これは統合テストです。モックは使用しません。一部の API は、HTTP 応答でファイル チェックサムを返すなど、配信の証明を提供する場合があります。可能であればこれらを使用してください。

データの価値が高い場合は、統合テストをお勧めします。また、負荷テストとベンチマークも実施することをお勧めします。これは、データが安全に、期待される時間内に到着することを確認するためです。実際のアプリでこれを行ったところ、統合テストで、ファイルの約 1% に影響するリモート サーバーの問題が発見されました。

于 2012-10-01T17:18:01.680 に答える