0

に、次の署名を持つテスト ヘルパーがありますtest_helper.rb

assert_resolve_mapping(model_name, attrs_ary_to_exclude = [])

最初のパラメータは、アサートされる実際のモデルを表す文字列です。つまり、User、Customer、Invoice などです。2 番目のパラメータは、属性の配列です。

したがって、単体テストでは次のようになります。

require 'test_helper'

class CustomerUnitTest < ActiveSupport::TestCase

  test "should resolve mapping" do
    assert_resolve_mapping("Customer", ["created_at", "updated_at"])
  end
end

さまざまなモデルのさまざまな単体テストでヘルパーを呼び出す必要があるため、最初のパラメーターを渡さないようにする方法はあり"Customer"ますか?この場合、どのモデルが実際にテストされているかを知ることができますか?

4

1 に答える 1

0

クラス名からモデル名を解析できると思います。

def assert_resolve_mapping(attrs_ary_to_exclude = [])
  model_name = self.class.to_s.sub(/UnitTest\Z/, "")
  ...
end
于 2013-02-14T15:14:51.703 に答える