、例えば:rake変数を呼び出すコードでその変数を共有する方法は?私は基本的に私のRSpecのテストでそれをターゲット引数を送信し、使用している必要がある何
$ 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
は、その行に呼ばれているが、私はテストを実行するとき(exec "rspec ..."
)、それは再び呼び出され、渡されたargsはデフォルトで上書きされます(RSpec configのため)。
私がしたいのは、私の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
Iドン私が渡した引数はデフォルトで上書きされます。 'start_driver'は' arg'を使用しません。 rspecを実行したときに別の場所で呼び出されたときに 'start_driver'を実行しようとしていませんか、またはrspecによって呼び出されたものに' arg'を渡そうとしていますか? –
私はargsを受け取るためにこのメソッドを作成しました: 'def start_driver(options = {}) options.empty? $ブラウザ= $ appium.start_driver Appium.promote_appium_methods RSpecの::コア:: ExampleGroup : 能力= 他 能力=キャップ(オプション) 終了 $ appium = Appium :: Driver.new(能力キャップ)キャップ終わり – juhlila