共用方式為


HOW TO:測試私用方法

更新:2007 年 11 月

您可以使用單元測試以測試公用方法和私用方法。和公用方法一樣,當您從要測試的程式碼中產生測試時,就會自動建立私用方法的單元測試。

雖然您可以手動編寫單元測試以測試任何方法,但是為私用方法執行這個工作會比為公用方法執行困難許多,因為您必須更進一步了解反映 (Reflection) 的複雜之處。因此,您會發現為私用方法產生測試的做法,比手動編寫測試更好。

當您為私用方法產生測試時,Visual Studio 會建立「私用存取子」(Private Accessor)。私用存取子是一種組件 (Assembly),測試可以透過這種組件,從私用方法的類別 (Class) 外部存取該方法。如需詳細資訊,請參閱使用私用存取子

注意事項:

除了私用方法以外,您也可以使用私用存取子測試私用屬性 (Property) 與欄位。但是,您無法使用私用存取子測試下列項目的私用版本:事件、委派、匿名方法,以及使用 CompilerGeneratedAttribute 屬性 (Arrtibute) 標記的成員。

InternalsVisibleTo 或私用存取子:應該使用哪一個?

您可以使用私用存取子組件同時存取私用成員與内部成員。如果受測試程式碼有內部成員但是沒有私用成員,最好在受測試程式碼中使用 InternalVisibleTo 屬性,並且放棄建立私用存取子組件。但是如果程式碼同時擁有您想要測試的私用與內部成員,請使用能同時存取兩者的私用存取子。如需詳細資訊,請參閱使用私用存取子

若要為私用方法產生單元測試

  1. 開啟含有私用方法的原始程式碼檔。

  2. 以滑鼠右鍵按一下私用方法,並選取 [建立單元測試]。

    [建立單元測試] 對話方塊隨即出現。您可以在樹狀結構中看到,只有私用方法的核取方塊是選取的狀態。

  3. (選擇性) 在 [建立單元測試] 對話方塊中,您可以變更 [輸出專案]。您也可以按一下 [設定] 重新設定產生單元測試的方式。

  4. 按一下 [確定]。

    這個程序會產生用來存取私用方法的程式碼、建置測試專案,並建立或更新私用存取子組件。

    如果在這之前,您的測試專案中並沒有單元測試,便會建立用來儲存單元測試的原始程式碼檔。與含有私用存取子的檔案相同,您也可以在 [方案總管] 的測試專案中看見包含單元測試的檔案。

  5. 開啟包含單元測試的檔案,並捲動至私用方法的測試。請尋找以 // TODO: 註解標記的陳述式,並依照註解中的下列指示完成陳述式。這將有助測試產生更精確的結果。如需詳細資訊,請參閱 HOW TO:撰寫單元測試

    現在,私用方法的單元測試已準備好可執行。如需詳細資訊,請參閱 HOW TO:執行選取的測試

請參閱

工作

HOW TO:撰寫單元測試

逐步解說:建立和執行單元測試

概念

使用私用存取子

使用 Publicize 建立私用存取子

設定 InternalsVisibleTo 屬性

其他資源

HOW TO:產生單元測試