2011-10-02 38 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 

希望能够帮助有人试图将文件注入模拟器进行测试。

马克