Здравствуйте.
Сегодня хочу рассказать и показать на простом примере, как запускать автоматически Rspec используя Jenkins+Rake.
1. Установим Rake
gem install rake
2. Открываем Ruby-шную IDE(в моем случае это RubyMine) и создаю новый проект. Примерно с такой структурой:
3. В spec файле напишем простенький тест(в моем случае “test_spec.rb”):
RSpec.describe "something" do
it "does something" do
# pass
end
4. Теперь когда формально у нас есть тест который мы будем запускать, напишем для этого исполняемый-файл rake:
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |t|
t.pattern = "spec/**/*_spec.rb"
end
task :default => :spec
чуть-чуть конкретики
t.pattern = "spec/**/*_spec.rb"
Шаблон согласно которому будут запускаться все файлы которые находятся в корневом “spec” фолдере и собственно которые имеют постфикс “_spec”.
task :default => :spec
Дефолтная задача которая будет выполнена при вызове rake команды.
5. Давайте убедимся, что наш rake файл запускает Rspec тест-файл.
Открываем командную строку, или пользуемся встроенным терминалом в RubyMine и переходит в фолдер где лежит наш rake-файл. Выполним команду:
$ rake
6. После того как мы убедились, что команда выполняется без ошибок, перейдем к установке Jenkins и его компонентам.
Скачиваем Jenkins c офф. сайта
После установки, навигейтимся Jenkins Settings → Plugins Management и устанавливаем “Rake plugin”.
7. После того как плагин был установлен мы можем приступить к созданию джобы которая будет запускать rake файл:
На фронт пейдже делаем следующие действия Create item-> Build a free-style software project-> Произвольное название айтема
В секции “Build” добавляем настройку “Invoke Rake” и заполняем поля как это показано здесь:
Сохраняем. Запускаем и смотрим результат:
Building in workspace C:\Program Files (x86)\Jenkins\jobs\Run Spec files\workspace
[Rake_test] $ C:\Ruby193\bin\rake.bat --rakefile C:\Users\eugene.tkachenko\RubymineProjects\Rake_test\Rakefile.rb default
.
Finished in 0.0005 seconds (files took 0.223 seconds to load)
1 example, 0 failures
C:/Ruby193/bin/ruby.exe -IC:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-support-3.0.0/lib;C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.0.1/lib -S C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.0.1/exe/rspec spec/test_spec.rb
Finished: SUCCESS
Собственно, все.