我理解在Rails中 lib 文件夹中放置类,模块等的好处,但我无法找到 clean 测试方法这些文件。在大多数情况下,单元测试似乎是合乎逻辑的方法。
我想我的问题是:测试lib文件的“轨道方式”是什么?
答案 0 :(得分:1)
您的lib目录不会被rails自动加载。
您可以使用ActiveSupport::Dependencies
覆盖const_missing
。基本上rails会在启动时尝试加载常量,如果它们未定义或未在内存中,它将查看您的加载路径。
如果您有my_class.rb
这样的文件,则rails希望它为MyClass
。
这样做的好处是,如果你的lib
目录中有一些东西,你不必要求它有一个相对路径,你可以说require 'something'
,而不是require 'lib/something'
}。