0

我有一个具有以下签名的测试助手,在test_helper.rb

assert_resolve_mapping(model_name, attrs_ary_to_exclude = [])

第一个参数是一个字符串,表示要断言的实际模型,即:用户、客户、发票等。第二个是属性数组。

所以在我的单元测试中,我有:

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 回答