2012-10-01 21 views
2

我實現發佈(上傳)的文件到遠程服務器:如何測試文件上傳到遠程服務器在Ruby中

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

我很好奇測試它:是否有可能以某種方式測試?或者,也許有一個在線服務,允許通過HTTP上傳文件?

請注意,server_url是一個遠程服務器,這不是我的Rails應用。

+0

這取決於你想要的。你想要一個功能測試來確保POST是用你想要的參數調用的嗎?或者你想做一個完整的集成測試,你測試文件是否完全上傳。通常我認爲功能測試就足夠了。 –

+0

實際上並不重要。至少我希望其中之一。理想情況下 - 兩者。 –

回答

2

一個簡單的方法是做功能測試。要做到這一點,你通常會嘲笑網絡連接。對於想法,請看VCR gem模擬HTTP連接及其結果:https://github.com/myronmarston/vcr

更詳細的方法是編寫一個往返測試,您可以在其中上傳文件,然後下載它,並比較兩者以確保它們是相同的。這是一個集成測試。它不使用模擬。一些API可能會提供交付證明,例如通過返回HTTP響應中的文件校驗和;如果可以的話,使用這些。

如果您的數據價值很高,我建議您進行集成測試,並進行一些負載測試和基準測試。這是爲了確保數據安全地到達您期望的時間。當我爲一個真正的應用程序執行此操作時,集成測試確實發現遠程服務器的問題影響了大約1%的文件。

相關問題