2017-02-17 29 views
0

通常,這些委託方法在其自己的類中進行測試。在代表團所在班級再次進行測試是否有意義?在模型規範中測試委託方法有意義嗎?

class Post < ApplicationRecord 
    delegate :username, :email, :name, 
      to: :user, prefix: true 
end 

我的問題是我還需要再次測試@post.user_namepost_spec.rb

+0

測試這些方法的目標是什麼? – fylooi

+0

確保所有這些方法都可用於'Post'型號 –

+2

您從不「需要」測試任何東西。它總是關於權衡!你應該測試的是你班級的「公共」api。如果這些代表是其中的一部分,則應以某種方式進行測試。 – phoet

回答

1

單元測試通常是爲了測試實現的正確性而編寫的。在這種情況下,這些方法通過ActiveRecord實現,因此測試它們將等於測試AR。另一方面,如果將這些方法從對象中移除,則其他一些代碼將會失敗,因此您需要確保這些交互在控制器/功能/集成層中進行了覆蓋。