1

在googletest中使用Visual Studio 2010 C++。我是單元測試新手,並且已經創建了一個測試解決方案來進行實驗。我在解決方案中有三個項目:Visual Studio 2010:使用Google Test構建和開發週期?

HelloService (static lib) 
HelloService.Tests (exe, a console app I think, linked with gmock_main.lib) 
HelloApp (MFC exe, my main app) 

我已經googletest(和googlemock)編譯鏈接併成功工作。我的問題是代碼測試開發週期。我試圖通過測試瞭解正確的工作流程。目前,如果我將HelloService.Tests設置爲「StartUp項目」,那麼當我點擊F5時,測試會運行,但我的HelloApp不會。如果我將我的HelloApp設置爲啓動項目,那麼當我點擊F5時,我的應用程序將運行,但我的測試不會。

我想我會希望我的「HelloApp」作爲啓動項目,但我的測試運行時,我建立它,並在我運行之前。是對的嗎?我如何設置它來做到這一點?

+0

幾個重複http://stackoverflow.com/search?q=google+test+visual+studio http://stackoverflow.com/questions/6216527/visual-studio-c-unit-test-exe-project- with-google-test –

+0

@Billy:我在這些搜索結果中沒有看到我的問題的答案;不要說它不存在,因爲有5000個結果,但它仍然不能解決我的問題。 – User

回答

0

我的解決方案是將HelloApp設置爲StartUp項目,然後右鍵單擊HelloApp項目並選擇「Project Dependencies ...」,然後檢查HelloService.Tests項目(HelloService項目已被選中) 。現在當我點擊F5時,測試項目就會運行(因爲HelloService.Tests已經有一個生成後事件來運行)

我唯一擔心的是如果創建項目依賴項會創建某種代碼依賴項。我的猜測是沒有,但我想肯定知道。

0

您可以在測試項目上設置生成後事件以運行測試可執行文件。然後,將測試項目添加爲主應用程序的依賴項,將在每個構建時自動運行測試。這確實意味着如果任何測試失敗,構建將失敗。您需要決定是繼續運行應用程序還是首先修復失敗的測試。

相關問題