更新:2007 年 11 月
您可以使用 Visual C# 和 Visual Basic 中的單元測試。
注意事項: |
|---|
在 Visual C# 和 Visual Basic 中,泛型型別和泛型方法之一般測試的產生會有一些限制。如需詳細資訊,請參閱單元測試與泛型。 |
也可以根據本主題中所描述的細節,使用 Visual C++ 中的單元測試。
使用 Visual C++ 及單元測試的方式會依 Visual C++ 在您的方案中有何作用而有所不同,可能會有下列情況:
您使用單元測試來測試以 Visual C++ 撰寫的程式碼。如需詳細資訊,請參閱 Visual C++ 實際執行程式碼。
您的測試專案包含以 Visual C++ 撰寫的單元測試。如需詳細資訊,請參閱測試專案和 Visual C++。
您打算透過以 Visual C++ 撰寫的程式碼自動產生單元測試。如需詳細資訊,請參閱程式碼產生和 Visual C++。
Visual C++ 實際執行程式碼
請注意下列有關您要測試的程式碼事項,該程式碼在這裡稱為「實際執行」程式碼。
Unmanaged - 如果您的實際執行程式碼是 Unmanaged,那麼程式碼就必須可以透過靜態程式庫、.obj 檔或 DLL 進入點 (Entry Point) 呼叫。內嵌於可執行檔或 DLL 的類別方法將無法運作,因為 Unmanaged Visual C++ 並未提供執行階段探索機制和反映 (Reflection)。因此,只有傳統的原生繫結機制可以運作。
混合 - 混合專案是使用 /clr 編譯器選項的專案。如果您的實際執行程式碼屬於 Mixed,但不是可執行檔,則可以呼叫並測試程式碼中任何可呼叫的方法。
安全或純粹 - 如果您的實際執行程式碼為安全或純粹的,則可以呼叫和測試可執行檔或 DLL 中任何可呼叫的組件方法。
測試專案和 Visual C++
您的測試專案會依您對專案設定的編譯器選項發揮不同的能力。如需詳細資訊,請參閱編譯器選項和 /clr (Common Language Runtime 編譯)。下列章節說明不同編譯器選項設定的能力。
Unmanaged
測試專案不能使用 Unmanaged、機器碼或 Visual C++ 做為程式設計語言。
混合
混合專案是使用 /clr 編譯器選項的專案。這種測試專案會提供測試下列實際執行程式碼的能力:
靜態原生程式庫
原生 DLL 進入點
獨立 .obj 檔
具有可呼叫之方法的混合模式 DLL 組件 - 這並不包含可執行檔,因為它們含有 Unmanaged 程式碼,並且 Unmanaged 可執行程式碼通常不會重新啟用基底位址 (Base Address)。
任何可呼叫之 Managed 方法 - 這是以 /clr:pure 或 /clr:safe 編譯器選項編譯的程式碼。
安全或純粹
如果您將 /clr:pure 或 /clr:safe 編譯器選項與測試專案搭配使用,它會提供測試任何可呼叫之 Managed 方法的能力。這是指以 /clr、/clr:pure 或 /clr:safe 編譯器選項編譯的實際執行程式碼。
程式碼產生和 Visual C++
您可以將單元測試產生至 Visual C++ 測試專案中。您可以從 Visual C++ 實際執行程式碼專案產生這些測試。請注意以下各點:
實際執行程式碼專案 - 如果您的實際執行程式碼是以 Visual C++ 撰寫,那麼只有在產品使用 /clr:safe 編譯器選項時,您才可以產生單元測試。
測試專案 - 程式碼產生可以在任何 Visual C++ 測試專案類型中產生單元測試:混合、安全和純粹。產生的預設專案類型為 /clr:safe 專案。如果您想要將專案變更為 /clr 或 /clr:pure,您可以使用 Visual C++ 編譯器選項隨時變更。如需詳細資訊,請參閱 /clr (Common Language Runtime 編譯)。
注意事項: