Лучшая практика для ruby ​​требует

Я настраиваю автоматические сквозные браузерные тесты (Selenium Webdriver + Ruby) с целью сделать так, чтобы они могли работать на моем локальном сервере или на сервере CI. Как я могу потребовать все файлы, необходимые для запуска тестов (объекты страницы)? Каков наилучший способ настроить структуру папок, чтобы я мог легко требовать и поддерживать организацию в каталоге объектов моей страницы?

#I am trying to eliminate all the absolute paths below
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\userdata.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\user.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\nav.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\login.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\dash.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\manageMembers.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\accountsReceivable.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createMember.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\newPayment.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createInvoice.rb"

#This doesn't seem to work 
Dir['\\FalconQA\\*.rb'].each { |f| require f }

require "selenium-webdriver"
require 'test-unit'
gem 'test-unit'
class FAL001 < Test::Unit::TestCase 
  def testFAL001
    $user = User.new("tester2")
    login = Login.new 
    login.username($user.name)
    login.password($user.password)
    login.submit.members.noImmediateDropDown.accountsRecievable("NAme").newPayment.createInvoice
    $user.stop
  end
  def testFAL002 
    puts " THis is a test "
  end
end

person Zach    schedule 27.11.2012    source источник
comment
Это ошибка, которую я получаю NameError: неинициализированная константа FAL001 :: User   -  person Zach    schedule 28.11.2012


Ответы (1)


можешь попробовать:

Dir['test-case-folder/test*.rb'].each { |f| require f }
person Community    schedule 27.11.2012
comment
Кажется, что это не получает ни один из файлов в подпапках. Также я пытаюсь потребовать файлы объектов страницы (admin2.rb, nav1.rb, homePage.rb .....) - person Zach; 28.11.2012
comment
если вы действительно хотите, чтобы в именах ваших папок были пробелы, попробуйте следующее: Dir['test case folder/test*.rb'] - person ; 28.11.2012
comment
то же самое для объектных файлов: Dir['Page Object folder/test*.rb'] - person ; 28.11.2012
comment
хотя я бы рекомендовал заменить пробелы на - или _ - person ; 28.11.2012