Обновить
Чтобы запустить скрипт ruby с помощью run
, вам необходимо убедиться, что ваш скрипт ruby является исполняемым и содержит шебанг, чтобы ваша система знала, что нужно запускать его с ruby. Вот пример из этого начального примера
#!/usr/bin/env ruby
file = ARGV[0]
if file.nil? || file.empty?
abort "aruba-test-cli [file]: Filename is missing"
elsif !File.exist? file
abort "aruba-test-cli [file]: File does not exist"
end
puts File.read(file).chomp
Так что в вашем случае вам нужно добавить это в первую строку вашего seedly-calculator.rb
файла
#!/usr/bin/env ruby
Затем запустите это из командной строки, чтобы сделать его исполняемым.
chmod +x #!/usr/bin/env ruby
Я сделал простой пример, раздвоенный от приведенного выше. Посмотреть этот коммит
Соглашение Rspec заключается в том, что он должен соответствовать файловой структуре вашего проекта. Не рекомендуется устанавливать PATH вручную.
Rake-задачи обычно помещаются в папку задач, поэтому в корне проекта должна быть папка задач
my_project/tasks/something.rake
Тогда у вас должна быть папка spec, которая соответствует
my_project/spec/tasks/something_spec.rb
Тогда вы сможете избавиться от блока task :set_path do end
и просто запустить спецификацию без этого.
У вас также должен быть Gemfile для загрузки ваших драгоценных камней, запустите bundle install
, затем вызовите ваш тест с
bundle exec rspec spec/tasks/sometask_spec.rb