2011-10-02 84 views
2

我有一個iPhone項目,我使用坦率和黃瓜進行驗收測試。用老實和黃瓜複製資源

我的應用程序具有從文檔目錄中收集文件並將其索引到應用程序數據庫中的功能。

我想用黃瓜測試這個功能。但這意味着我必須將文件複製到應用程序文檔目錄。

我的問題是:

  • 如何動態地使步定義複製文件?
  • 將資源置於複製之前的位置?在什麼文件夾結構?
  • 如何從我的步驟定義中獲取這些文件?

謝謝。

回答

1

我們創建了一個輔助函數來做這樣的事情注入圖像轉換成仿真畫廊..

def init_simulator_images(num_images) 
    (1..num_images.to_i).each do |n| 
    target_file = "IMG_000#{n}.JPG" 
    begin 
     File.stat("#{ENV['simulator_media_path']}/#{target_file}") 
    rescue Errno::ENOENT 
     app_exec 'FEX_loadPhotoLibraryImage:', "test/#{target_file}" 
    end 
    end 
end 

,然後在本機代碼方面,我們有一個叫做FEX_Helper一個輔助類在什麼地方,以幫助我們需要在運行時修改該應用(RubyMotion代碼,但v類似於目標c除了語法):

def FEX_loadPhotoLibraryImage(imageStr) 
    img = UIImage.imageNamed(imageStr) 
    UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil) 
end 

最後模擬器媒體路徑正是如此定義:

def simulator_media_path 
    "#{self.simulator_version_path}/Media/DCIM/100APPLE" 
end 

def simulator_path 
    "/Users/#{self.user}/Library/Application\ Support/iPhone\ Simulator" 
end 

def simulator_version_path 
    "#{self.simulator_path}/#{self.simulator_version}" 
end 

希望能夠幫助有人試圖將文件注入模擬器進行測試。

馬克