And*_*lle 5 ruby selenium automated-tests rspec autoload
我正在测试一个带有ruby,rspec,capybara和selenium的web应用程序,我遇到了一个uninitialized constant ActiveAdminLoginPage
我不知道如何解决的异常.
在spec_helper.rb中,我要求以下内容:
Dir[File.join(Dir.pwd, 'spec/page_objects/**/*.rb')].each { |f| require f }
Run Code Online (Sandbox Code Playgroud)
我有2节课
spec/page_objects/products/active_admin_login_page.rb
module Products
class ActiveAdminLoginPage < ::ActiveAdminLoginPage
...
end
end
Run Code Online (Sandbox Code Playgroud)
继承自
spec/page_objects/active_admin_login_page.rb
Run Code Online (Sandbox Code Playgroud)
不幸的是,子类在父类之前加载.
如何从目录中的所有文件名动态创建自动加载命令?我想替换这个命令:
Dir[File.join(Dir.pwd, 'spec/page_objects/**/*.rb')].each { |f| require f }
使用自动加载命令.
您如何将require
依赖项加载到需要它的文件中?
require
仅加载文件一次,因此您不会遇到任何副作用。
或者,更好的是,您可以使用,它在幕后auto_load
使用,但它以更智能的方式进行require
autoload :ActiveAdminLoginPage, 'active_admin_login_page'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
153 次 |
最近记录: |