0
我必須將一段時間前寫過的簡單ruby測試(稱爲#mapper)轉換爲RSpec測試。將使用CSV和YAML數據文件的方法進行簡單的ruby測試轉換爲RSpec測試
這種方法是非常數據驅動的,它需要大量的輸入和輸出數據存儲在CSV和YAML外部數據文件的組合中。
目前這是一個獨立於ruby的環境,但很快就會集成到rails項目中。
下面是一些僞代碼:
# current test algorithm
inputs = data_load :inputs
meta_maps = data_load :meta_maps
meta_maps.each do |meta_map_name, meta_map|
outputs = data_load "outputs_#{meta_map_name}"
outputs.each do | output |
next if output_data_not_available(output)
test_name = output[:test_name]
input = inputs[test_name]
test test_name, output, mapper(input, meta_map)
end
end
的data_load
功能加載CSV或YAML文件,並將它作爲一個喜歡叫哈希值。
的test
函數調用與當前input
映射器功能,比較它與當前output
返回和使用test_name
記錄結果。
真正的問題是,我必須使用外部文件(按規格 - 他們是不是我的控制之下)
我是新來的RSpec,但有它的基本的瞭解,但我沒有用夾具或工廠類型設置,並且確實需要一種將CSV和YAML文件以最「RSpec」方式集成到RSpec測試中的方法。
我有RTFM,而且我看過的內容似乎都沒有直接適用於這種情況。我正在尋找一些在這方面有經驗的人,可能會提供一些指導方針或建議。更重要的是,我一直在尋找RSpec友好的方法。 IOW,我不想把這些垃圾搞糊塗了。 – danv