Неинициализированная постоянная ошибка при запуске ruby-спецификаций в Linux, а не в Windows - PullRequest
0 голосов
/ 22 октября 2018

У меня есть серия спецификаций селена / капибары, которые я запускаю через rspec в проекте ruby.До сих пор я запускал их исключительно на Windows-машине без проблем.Теперь я пытаюсь перейти на компьютер с Linux, и у меня возникают проблемы повсюду.

В моем spec_helper.rb, который требуется для каждого из моих тестовых файлов, я начинаю с этого бита ниже.Тем не менее, когда я запускаю свои тесты на сервере Linux, я получаю десятки неинициализированных постоянных ошибок.По сути, первый класс, в который попадает код, объявляется неинициализированным, несмотря на то, что он был инициализирован в другом месте.

# frozen-string-literal: true

require 'rspec'
require 'capybara/rspec'
require 'capybara-screenshot/rspec'
require 'capybara/dsl'
require 'selenium-webdriver'
require 'site_prism'

Dir[File.dirname(__FILE__) + '/helpers/*.rb'].each do |helper|
  require helper
end

Dir[File.dirname(__FILE__) + '/page_objects/mixins/*.rb'].each do |page_object|
  require page_object
end
Dir[File.dirname(__FILE__) + '/page_objects/sections/*.rb'].each do |page_object|
  require page_object
end

Dir[File.dirname(__FILE__) + '/page_objects/*/*.rb'].each do |page_object|
  require page_object
end

одна такая трассировка стека:

Произошла ошибка при загрузке ./demo_spec.rb.

Failure/Error: iframe :export_modal, Pages::ExportModal, :xpath, '//*[@id="qPopupWindow"]/iframe'

NameError:
  uninitialized constant Pages::ExportModal
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/page_objects/pages/entity_gl_periods.rb:18:in `<class:EntityGlPeriods>'
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/page_objects/pages/entity_gl_periods.rb:2:in `<module:Pages>'
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/page_objects/pages/entity_gl_periods.rb:1:in `<top (required)>'
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/spec_helper.rb:22:in `block in <top (required)>'
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/spec_helper.rb:21:in `each'
# /dr01/bamboo/xml-data/build-dir/DEVSYS-RSM2FT-JOB1/spec/spec_helper.rb:21:in `<top (required)>'
# ./demo_spec.rb:1:in `<top (required)>'
No examples found.

1 Ответ

0 голосов
/ 23 октября 2018

Трассировка стека говорит о том, что ошибка находится в строке 21 из spec_helper

Ошибка где-то здесь:

Dir[File.dirname(__FILE__) + '/page_objects/*/*.rb'].each do |page_object|
  require page_object
end

Если вы можете войти в консоль сервера, см.что это на самом деле возвращает и сравнивает с вашей средой Windows.

Dir[File.dirname(__FILE__) + '/page_objects/*/*.rb']

Кажется, что порядок загрузки ваших требований запускается неправильно.Возможно ли наличие ошибок прав доступа к каталогам, из которых вы пытаетесь читать / загружать файлы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...