Ce que je dois est d'envoyer essentiellement un argument cible et l'utiliser dans mes tests RSpec, par exemple:comment partager une variable rake dans le code invoqué?
$ rake unistall_and_run[test_spec.rb]
Rakefile:
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
est appelée sur cette ligne, mais quand je lance les essais (exec "rspec ..."
), il est appelé à nouveau et les args que j'ai passés sont écrasés par défaut (car c'est sur RSpec config).
Ce que je voudrais faire est, sur mon fichier RSpec vérifier si elle était déjà appelée et ne pas courir encore.
Voici la méthode 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
Je don "Je ne comprends pas" les args que j'ai passés sont écrasés par défaut ". 'start_driver' n'utilise pas' arg'. Essayez-vous de ne pas lancer 'start_driver' lorsqu'il est appelé ailleurs quand vous lancez rspec, ou essayez-vous de passer' arg' dans quelque chose appelé par rspec? –
J'ai créé cette méthode pour recevoir des arguments: 'def start_driver (options = {}) if options.empty? capacités = CAPS autre capacités = caps (options) fin $ appium = Appium :: Driver.new (caps: capacités) navigateur $ = $ appium.start_driver Appium.promote_appium_methods RSpec :: :: Noyau ExampleGroup fin » – juhlila