2013-02-14 156 views
0

我有以下簽名的測試幫手,在test_helper.rbRails:如何知道單元測試中哪個測試模型?

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"在這種情況下,知道哪些是實際測試的模型?

回答

0

我相信你可以從類名解析模型名稱。

def assert_resolve_mapping(attrs_ary_to_exclude = []) 
    model_name = self.class.to_s.sub(/UnitTest\Z/, "") 
    ... 
end