同事遇到了需要對私有方法進行單元測試的情況,上網查了下,如果確實想僅僅對私有方法進行測試(並不推薦這樣,原因後面敘述),可以使用send方法:
class a
private
def just_show(someone)
puts "i am #"
endend
a.new.send :just_show,"jerry"
我認為私有方法不需要進行單獨測試,理由如下:
1.定義了私有方法必然會有公有方法直接或間接呼叫了這個私有方法,因此對公有方法進行測試就間接地測試了這個私有方法
2.直接對私有方法進行測試會破壞類的訪問結構
Java單元測試之測私有方法
ut的被測單元往往為private方法,由於業務演算法邏輯等常在private方法中,對其進行ut是很必要的。如何對private方法進行ut,大致有如下方式,雖然不同方式在不同團隊或個人有爭議性,但最終需團隊成員達成一致性。才能保證風格。方式1 將被測private方法改為包級的或者public。...
如何對私有方法進行測試
一般情況下私有方法只能在所屬類的內部進行呼叫,在類外則無法通過物件.方法名的方法呼叫私有方法。那麼在平時測試中,如何測試私有方法,下面分享個人所知的兩種方法,如下 格式 呼叫方法格式 object result deencapsulation.invoke mockclass,methodname,...
Java呼叫外部私有方法
描述 在寫單元測試的時候,要測試乙個私有方法 解決方案 利用反射,呼叫私有方法 呼叫私有方法 param c class名 param methodname 方法名 param parameters 方法引數 return method實體 throws nosuchmethodexception ...