2013-01-17 48 views
1

我正在用Visual Studio 2010在C中開發一個Win32應用程序。到目前爲止這是一個非常小的項目,只有1273行代碼只有1.cpp文件,它有20個功能。寫作的第一步(練習)單元測試

我想學習和練習寫單元測試。通過goolge,我發現有很多單元測試框架可以使用。我不知道if one can write his own unit test completely

如果是,那麼基本的例子是什麼?是否創建了另一個.cpp文件,比如說UnitTest.cpp,並且在這個文件中有一個寫代碼來執行爲應用程序編寫的代碼?

什麼是Visual Studio中的「測試」菜單(以及如何使用它)?

您是否對編寫C和C++代碼的單元測試有一些參考?

+3

它是C *還是* C++?如果是C,[見這裏](http://stackoverflow.com/questions/65820/unit-testing-c-code)。如果它是C++,[見這裏](http://stackoverflow.com/questions/13699/choosing-a-c-unit-testing-tool-framework)。所選的框架將提供如何使用它的文檔。 – netcoder

+0

謝謝,但我不知道是否可以編寫單元測試沒有框架和如何。 – user565739

+0

答案?是。怎麼樣?單元測試檢查代碼單元(函數,方法等))當某個輸入被傳遞給它或當它在某個上下文中被調用時,它會表現出某種特定的方式。這就是如何。這裏沒有什麼可以擴展的。 – netcoder

回答

2

當然你可以寫自己的單元測試中。基本上你剛纔寫的問題所需要的步驟:

  1. 創建一個使用原密碼(你*的.cpp)
  2. 呼叫你的原始代碼的不同方法
  3. 檢查一切正常運作一個新的二進制如預期
  4. 創建一些輸出到顯示一切是如何制定出

這基本上是單元測試的框架是如何工作的。當然,他們提供的不僅僅是這些基礎知識。

Boost Test例如提供了不同的輸出格式,用於檢查結果的makros以及爲您運行所有測試的Testrunner(以及更多)。

還有很多需要發現的東西,所以我建議您在創建自己的基本測試環境後,深入瞭解其中一些框架的文檔。

0

正如我在這裏看到的:http://msdn.microsoft.com/en-us/library/ms243171(v=vs.100).aspx Visual Studio中的單元測試選項僅用於託管代碼。所以如果你編寫純粹的本地C++,它將無法工作。

對於簡單的測試用例,您可以使用自己的框架。但由於單元測試現在是專業工作的標準,我建議使用一些現有的框架。這需要你花更多的時間來學習,但經過一番努力,你會感覺更舒適(並且你會改善你的簡歷:))。

+0

爲了得到這個想法,它可以幫助手動創建單元測試。在一切正常後,使用常用框架當然是最好的選擇。 – MOnsDaR