2012-04-13 70 views
4

我很新的RSpec的,所以這是一個相當基本的問題。我正在寫一些東西,分析了大量的數據從一個文件,進行一些處理並返回一個總結的結果,這是大家很可愛的用Ruby做。RSpec的 - 測試與實際文件,而不是模擬數據

我想提出解決此代碼中的一些RSpec的測試,但我不想小樣測試中的數據。這些文件非常龐大且複雜,因爲我希望代碼能夠與這些文件一起工作,所以我想直接在測試中使用這些文件。

我做了很多谷歌搜索,我一直無法找到這種情況的最佳實踐的任何例子 - 我發現的一切似乎建議模擬數據。

所以,要清楚,我想知道的最佳實踐運行與實際測試數據文件RSpec的測試,而不是針對某事在測試代碼自身嘲笑了。我很高興打開文件,閱讀文件等,這不是問題。我真正感興趣的是如何最好地構建我的測試和測試數據目錄。

回答

4

我過去所做的是在規範文件夾中創建一個數據文件夾來保存我想從中讀取數據的文件。

我瞭解您對想要使用的實際文件的動機,因爲通常你可能不會想到你自己的實際文件中的一點優勢的情況下種種。我的建議是做一個測試,打開文件並測試你想要的信息。但是,如果該測試失敗,則創建一個新的測試來解決您找到的文件中的特定問題。

例如,假設試圖打開文件時,您發現它不能正確處理非UTF8數據。使用所使用的數據創建一個新的測試線(而不是簡單地將其作爲較大測試的一部分)。這樣,如果它再次失敗,你將能夠精確地確定疼痛點在哪裏。

相關問題