dosya adlarından dinamik olarak autoload komutunu oluşturun Ruby, rspec, capybara ve selenium ile bir web uygulaması test ediyorum ve nasıl çözüleceğimi bilmediğim bir uninitialized constant ActiveAdminLoginPage
İstisnaya girdim. spec_helper.rb olarakRuby
i gerektiren am aşağıdaki gibidir:
Dir[File.join(Dir.pwd, 'spec/page_objects/**/*.rb')].each { |f| require f }
I
spec/page_objects/active_admin_login_page.rb
ne yazık ki, alt sınıfı, ana önce yüklenen 2 sınıfları
spec/page_objects/products/active_admin_login_page.rb
module Products
class ActiveAdminLoginPage < ::ActiveAdminLoginPage
...
end
end
devralır sahip sınıf.
Nasıl bir dizindeki tüm dosya adlarından dinamik bir özdevinimli_yükle komutu oluşturulur? ben bu komutu yerine istiyorum: Bir özdevinimli_yükle komutuyla
Dir[File.join(Dir.pwd, 'spec/page_objects/**/*.rb')].each { |f| require f }
.
bunu yapar? Eksik dosyaya göre otomatik olarak yüklenen dosya mı olacak? Bu işlevsellik kurulmadığı için büyük ihtimalle bir "sarmalayıcı" yazmanız gerekecektir. Soru şu ki, nasıl davranmasını beklersiniz. Tipik olarak, her bir dosya için 'bağımlı (_relative)' yoluyla tüm bağımlılıkları yüklersiniz. İşi otomatik olarak yapmak için, yüklenecek dosyaları hesaplamak için nispeten sıkı adlandırma kuralına ihtiyacınız olacaktır. – insider