簡體   English   中英

如何使用Microsoft單元測試框架對帶有輸入參數的私有方法進行單元測試?

[英]How to unit test private methods with input parameters using Microsoft Unit Testing Framework?

我試圖重構C#代碼,並希望使用Microsoft單元測試來確保我不會破壞任何功能。 Microsoft單元測試建議使用不帶參數的Public方法,而代碼中包含帶很多參數的私有方法。 如何使用Microsoft單元測試框架對具有輸入參數的這些私有方法進行單元測試?

您無法訪問的測試方法很可能需要您使用反射。 它可能是一種脆弱的模式,但是請參閱以下示例,以獲取獲取私有方法並使用參數進行調用的示例: 反射:如何使用參數來調用方法

可能看起來像這樣:

MethodInfo method = myObj.GetType().GetMethod(methodName);
object result = method.Invoke(myObj, new object[] { param1, param2 });
return result;

我個人不喜歡使用反射來測試私有方法。 我更喜歡使用這些私有方法的大型公共方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM