我写了一个引擎来添加一些辅助方法,只是为了学习。
module SharpAssets
class Engine < ::Rails::Engine
initializer "sharp_asssets.assets_precompile" do |app|
ActionView::Base.send(:include, SharpAssets::Helper)
end
end
module Helper
def hi_engine
"test"
end
end
end
我的测试用例是:
require 'test_helper'
class SharpAssetsTest < ActionView::TestCase
include SharpAssets::Helper
test "should work" do
assert_equal "test", hi_engine
end
end
我想知道这种方式是一种好习惯吗?
另一个问题是为什么我可以包含SharpAssets::Helper
在我的测试用例中?我不需要 lib 文件夹中的任何文件。