В моем задании по рейку у меня есть:
namespace :example do
desc "this does something"
task :something, [:arg1] => :environment do |t, args|
(some_irrelevant_code)
print 'YES/ NO : '
choice = STDIN.gets.chomp.upcase
case choice
when 'YES'
do_something
break
when 'NO'
break
end
end
end
В моей спецификации у меня есть:
require "spec_helper"
require "rake"
feature "Example" do
before do
load File.expand_path("../../../lib/tasks/example.rake", __FILE__)
Rake::Task.define_task(:environment)
end
scenario "something" do
Rake.application.invoke_task("example:something[rake_args_here]")
end
Все работает нормально, хотя у меня возникают проблемы с поиском способа избежатьнабрать пользовательский ввод в консоли при запуске теста.
В основном я хочу, чтобы тест запустился и предполагал, что пользователь собирается набрать «ДА».
Пожалуйста, дайте мне знать, еслиУ вас есть решение для этого или направьте меня в правильном направлении.
Заранее спасибо.