一般情況下私有方法只能在所屬類的內部進行呼叫,在類外則無法通過物件.方法名的方法呼叫私有方法。那麼在平時測試中,如何測試私有方法,下面分享個人所知的兩種方法,如下:
【格式】
//呼叫方法格式
object result = deencapsulation.
invoke
(mockclass, methodname, parameter1, parameter2 ….
);
【說明】
mockclass:該引數是需要呼叫方法所屬的類,該類需要被mock
methodname:該引數為需要呼叫的私有方法名
parameter:該引數為呼叫方法的引數的值,根據方法需要設定的引數個數而定
deencapsulation.invoke()返回結果型別:與呼叫方法(即測試的方法)返回的型別一致
【格式】
//呼叫方法格式
method method = 類物件.
getclass()
.getdeclaredmethod
(methodname, 引數型別1
, 引數型別2….);
object result = method.
invoke
(類物件, 引數值1
, 引數值2…)
【說明】
類物件: 呼叫私有方法所屬類的物件
methodname:呼叫的私有方法名
VS2005對私有方法的單元進行測試
使用 visual studio 對 公共方法進行單元測試,跟以前 nunit 一樣,都是引用需要的類,然後對公共方法進行測試 使用 visual studio 對公共方法進行單元測試,跟以前 nunit 一樣,都是引用需要的類,然後對公共方法進行測試。但是 visual studio 還可以對類的...
使用Junit 測試私有方法
在junit4中如何測試私有方法呢?有如下類和方法 public class printablecharacterascii line 72 r line 73 n return line 此類實現列印 abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstu...
使用Junit 測試私有方法
在junit4中如何測試私有方法呢?有如下類和方法 public class printablecharacterascii line 72 r line 73 n return line 此類實現列印 abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstu...