Все тесты SauceLabs, запущенные с Capybara, приводят к заданию Name Ruby и отсутствию метаданных.

Я настраиваю автономный набор тестов RSpec/Capybara, интегрированный с SauceLabs, но инструкции в документации не кажется, не работает для меня.

Вот соответствующие части моего spec_helper.rb:

require 'capybara'
require 'capybara/rspec'
require 'sauce/capybara'

Sauce.config do |config|
  config[:browsers] = [
    [ "OSX 10.10", "Safari", "8" ]
  ]
end

Capybara.default_driver = :sauce

А вот и особенность (not_found_spec.rb):

feature 'Enroll: 404', :sauce => true do
  before :each do
    @nonexistent_curriculum = FactoryGirl.build :curriculum
    @enroll = Enroll.new
  end

  context 'When I visit a page that does not exist' do
    scenario 'I see a Not Found message' do
      @enroll.go @nonexistent_curriculum
      expect(@enroll.not_found).to be_visible
    end
  end
end

Когда я затем запускаю rspec, спецификации запускаются и проходят, но никакие метаданные не записываются. Все, что я вижу в SauceLabs, это «Работа без имени Ruby».

Что мне не хватает?


person jrh    schedule 03.09.2015    source источник


Ответы (1)


Когда вы бежите

 bundle exec rake sauce:install:spec

он создает соус_helper.rb, который затем обычно требуется в конце вашего rails_helper.rb или spec_helper.rb, в зависимости от того, какие у вас есть файлы *_helper.rb. Похоже, вы скопировали часть конфигурации Sauce из соуса_helper в свой spec_helper, но не показали, что у вас есть

require "sauce"

там, который находится в сгенерированном соусе_помощника. Не требуя «соуса», может случиться так, что соус/rspec/rspec.rb не требуется, и именно здесь настроены все крючки в rspec для тестов с соусом: true.

person Thomas Walpole    schedule 03.09.2015
comment
Ага, ты попал. В этом была проблема. Отличный ответ. - person jrh; 04.09.2015