1

我写了一个引擎来添加一些辅助方法,只是为了学习。

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 文件夹中的任何文件。

4

0 回答 0