j'ai une tâche de râteau qui définit les variables d'environnementconcombre Rake Tâche réinitialisation des variables d'environnement
task circle_ci_parallel_tests: :environment do
ENV['PREPARE_TEST_DATA'] = 'true'
Rake::Task[:service_test_data_setup].execute
browser_group.compact.uniq.each do |browser_name|
next unless ENV['CIRCLE_NODE_INDEX'].to_i == group_index
ENV['BS_KEY_NAME'] = browser_name
ENV['TEST_ENV_NUMBER'] = group_index.to_s
ENV['BS_TYPE'] = browser_name
run_single
end
end
J'ai alors une tâche de râteau enveloppé dans une méthode régulière
def run_single
Cucumber::Rake::Task.new(:run_features) do |task|
output = 'tmp/failed_scenarios.txt'
task.cucumber_opts = "features -t @leo --tags [email protected]_#{ENV['BS_TYPE']} --tags [email protected]_#{ENV['BS_TYPE']} -f rerun --out #{output}"
end
Rake::Task[:run_features].execute
end
Quand je lance le râteau :: Tâche [circle_ci_parallel_tests] sur la ligne de commande La valeur ENV['BS_TYPE']}
n'est pas définie à chaque fois, mais la première valeur est sélectionnée. Comment puis-je faire ramasser le ENV['BS_TYPE']
chaque fois que la méthode run_single
est appelée?
Cela ne fonctionne pas – user1875703