2015-05-28 3 views
0

Я создаю несколько автоматических тестов с использованием огурцов и капибара. Я хочу добавить драгоценный камень Touch Action (https://github.com/Ricardonacif/touch_action). Я добавил драгоценный камень, а затем в мой файл env потребовал его, но я получаю следующую ошибку. Я действительно запутался в том, должен ли я создавать отдельный вспомогательный файл, но я пробовал что-то в этом направлении и по-прежнему получал ту же ошибку. Может ли кто-нибудь предложить какие-либо рекомендации относительно того, как разрешить это?Неинициализированная константа RSpec при добавлении драгоценного камня

uninitialized constant RSpec (NameError) 
/Users/em/.rvm/gems/ruby-2.1.1/gems/touch_action-1.3.0/lib/touch_action/capybara_rspec_helper.rb:17:in `<top (required)>' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/touch_action-1.3.0/lib/touch_action.rb:12:in `require' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/touch_action-1.3.0/lib/touch_action.rb:12:in `<top (required)>' 
/Users/em/reallyenglish/learning_specs/learning-platform-specs/features/support/env.rb:3:in `require' 
/Users/em/reallyenglish/learning_specs/learning-platform-specs/features/support/env.rb:3:in `<top (required)>' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/rb_support/rb_language.rb:94:in `load' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/rb_support/rb_language.rb:94:in `load_code_file' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime/support_code.rb:237:in `load_file' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime/support_code.rb:97:in `block in load_files!' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime/support_code.rb:96:in `each' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime/support_code.rb:96:in `load_files!' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime.rb:242:in `load_step_definitions' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/runtime.rb:65:in `run!' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/lib/cucumber/cli/main.rb:38:in `execute!' 
/Users/em/.rvm/gems/ruby-2.1.1/gems/cucumber-2.0.0/bin/cucumber:9:in `<top (required)>' 
/Users/em/.rvm/gems/ruby-2.1.1/bin/cucumber:23:in `load' 
/Users/em/.rvm/gems/ruby-2.1.1/bin/cucumber:23:in `<main>' 
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval' 
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>' 

Gemfile

source "https://rubygems.org" 

gem 'rake' 
gem 'touch_action' 

group(:test) do 
    gem 'cucumber' 
    gem 'capybara' 
    gem 'rspec' 
    gem 'selenium-webdriver' 
end 

env.rb

require 'capybara' 
require 'capybara/cucumber' 
require 'touch_action' 

Capybara.configure do |config| 
    config.default_selector = :css 
    config.default_driver = :selenium 
    config.app_host = 'http://testem.co.uk 
    # Capybara.ignore_hidden_elements = false --video testing 
    config.include Capybara::DSL 
end 

After do 
    page.execute_script("window.localStorage.clear()") 
end 
+0

Почему рельсы генерируют команду, когда она не является приложением для рельсов? – Lilp

+0

вы спрашиваете себя? что вы имеете в виду о создании рельсов? и какова причина, вызывающая эту ошибку? – dax

+0

Нет, похоже, кто-то удалил свой комментарий! Они предложили запустить rails для генерации rspec install – Lilp

ответ

1

После нашего чата дискуссии, кажется, что touch-action потребности rspec быть явно требуется. Ваш файл env.rb должен выглядеть так:

require 'rspec' 
require 'capybara' 
require 'capybara/cucumber' 
require 'touch_action' 
Смежные вопросы