Копировать ресурсы с откровенным и огурцом - PullRequest
2 голосов
/ 02 октября 2011

У меня есть проект iPhone, в котором я использую Фрэнк и Огурец для приемочного тестирования.

В моем приложении есть возможность собирать файлы из каталога документов и индексировать их в базе данных приложений.

Я хочу проверить эту функцию с огурцом.Но это означает, что мне нужно скопировать файлы в каталог документов приложений.

Мои вопросы:

  • Как динамически определять определения шагов для копирования файлов?
  • Где разместить ресурсы до их копирования?В какой структуре папок?
  • Как мне получить эти файлы из моих определений шагов?

Спасибо.

1 Ответ

1 голос
/ 20 мая 2014

Мы создали вспомогательную функцию, чтобы сделать что-то подобное для вставки изображений в галерею симулятора.

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. Аналогичный target-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

Надеюсь, это поможет кому-то, пытающемуся внедрить файлы в симулятор для тестирования.

Mark

...