使用 Visual Studio 對公共方法進行單元測試,跟以前 NUnit 一樣,都是引用需要的類,然后對公共方法進行測試。
但是 Visual Studio 還可以對類的私有方法進行測試。而Visual Studio 不允許測試代碼跟實際代碼放在一個項目中,我們來看看是Visual Studio UnitTest如何做的。 比如我們有這樣一個私有方法
我們只要在這個私有方法的右鍵菜單中選擇 創(chuàng)建單元測試,系統(tǒng)就自動產生了這個私有方法的單元測試代碼。 下面我們來分析產生的單元測試代碼,看Visual Studio UnitTest 是如何對私有方法進行單元測試的 簡單來說,Visual Studio UnitTest 生成私有方法的單元測試時,將自動創(chuàng)建一個私有訪問器。私有訪問器是測試方法用于訪問私有代碼的方法。單元測試生成對私有訪問器的調用,然后通過私有訪問器來調用私有方法。私有訪問器駐留在測試項目中的文件中;因此將被編譯為測試項目程序集。 具體來看測試項目: 首先我們可以看到一個名為 VSCodeGenAccessors.cs 的新文件被創(chuàng)建, 這個文件包含兩個類: internal 類型的 BaseAccessor 類 和 派生自它的 ClassLibrary1_DivisionClassAccessor 類 BaseAccessor 類 是通用的訪問器基類。 ClassLibrary1_DivisionClassAccessor 類 則是對你要訪問類的私有方法進行了反射封裝,這樣你就可以通過操作這個類來操作該私有方法了。如下面代碼: |
|