Что мне нужно, так это отправить целевой аргумент и использовать его в моих тестах RSpec, например:
$ rake unistall_and_run[test_spec.rb]
Рейкфайл:
desc 'uninstall app to run tests'
task :uninstall_and_run, [:arg] do |t, arg|
#note this, i will explain later
start_driver(fullReset: true)
oi = arg.to_s.split('"')[1]
file_dir = (project_home + '/spec/' + oi)
exec "rspec #{file_dir}"
end
start_driver
вызывается в этой строке, но когда я запускаю тесты (exec "rspec ..."
), он вызывается снова, и переданные мной аргументы перезаписываются по умолчанию (потому что они находятся в конфигурации RSpec).
Что я хотел бы сделать, так это проверить мой файл RSpec, был ли он уже вызван, и не запускать его снова.
Вот метод start_driver:
def start_driver(options= {})
if options.empty?
capabilities = caps
else
capabilities = caps(options)
end
$appium = Appium::Driver.new(caps: capabilities)
$browser = $appium.start_driver
Appium.promote_appium_methods RSpec::Core::ExampleGroup
end
start_driver
не используетarg
. Вы пытаетесь не запускатьstart_driver
, когда он вызывается где-то еще, когда вы запускаете rspec, или вы пытаетесь передатьarg
чему-то, что вызывается rspec? - person Dave Schweisguth   schedule 20.07.2016def start_driver(options= {}) if options.empty? capabilities = caps else capabilities = caps(options) end $appium = Appium::Driver.new(caps: capabilities) $browser = $appium.start_driver Appium.promote_appium_methods RSpec::Core::ExampleGroup end
- person juhlila   schedule 20.07.2016