首頁 > 後端開發 > C++ > 我應該在 C# 中對私有方法進行單元測試嗎?

我應該在 C# 中對私有方法進行單元測試嗎?

Susan Sarandon
發布: 2025-01-18 21:32:13
原創
732 人瀏覽過

Should I Unit Test Private Methods in C#, and How Can I Avoid Runtime Errors?

C#單元測試中的私有方法:運行時錯誤及解決方案

Visual Studio 透過自動產生的存取器類別來單元測試私有方法的功能看似很方便,然而,在某些情況下,此類測試會遇到執行時間錯誤,如提供的範例程式碼所示。問題源自於編譯器推斷的類型 (TypeA_Accessor) 與實際執行時間類型 (TypeA) 之間的差異,導致在清單新增元素時出現轉換錯誤。

解決此問題,請考慮以下方法:

  • 使用 PrivateObject(適用於 .NET Core 2.0 之前的版本): PrivateObject 類別允許存取物件的私有成員,包括方法。它可以像問題解答中提供的範例那樣使用。但是,請注意,.NET Core 2.0 中已刪除對 PrivateObject 的支援。

或者,請考慮以下一般建議:

  • 避免測試私有方法: 測試私有方法可能會導致脆弱的測試,當內部實作細節變更時,這些測試可能會中斷。相反,應專注於測試類別的公共介面。
  • 避免在單元測試中操作物件狀態: 單元測試通常應驗證特定行為,而無需更改被測試物件的狀。這確保後續測試不受先前測試結果的影響。

以上是我應該在 C# 中對私有方法進行單元測試嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板