考慮帶有靜態lib項目和帶有單元測試的控制檯應用程序的Visual Studio C++解決方案。應用程序構建後步驟爲"$(TargetDir)$(TargetFileName)"
,以在每次成功編譯時自動運行測試。每次成功編譯後運行單元測試
當編譯成功,但測試失敗我想有時候對其進行調試,所以我需要從VS.運行它們問題是如果測試失敗,構建也被認爲失敗,所以VS拒絕運行。
所以當您嘗試運行構建失敗你
(該選項on
默認但遲早大家點擊「不要再顯示此對話框」)
它的效果並不理想,因爲它是混亂的,它會觸發再次構建(編譯skipp因爲它是成功的,但測試再次運行,該選項是全球意義,它適用於所有您的項目,即使是那些不需要它的項目。這當然不是一個大問題,只是想知道人們是否有一些聰明的黑客。
例如,C#項目,打造「當構建更新項目輸出」事件有一個選項 - 天造地設的一對編譯後的單元測試。
該項目是跨平臺的,所以VS測試框架不適用。
爲什麼是VS測試框架不適用?你在這裏要求一個不可避免的平臺特定的解決方案(假設你沒有在其他平臺上使用MSBuild)。 – Sneftel
@Sneftel:單元測試是跨平臺的,我們使用Google Test進行測試。大多數的開發發生在VS的Windows上(我認爲這是非常流行的設置)。我對VS測試框架的瞭解是有限的,你是否看到它在這方面可以提供幫助? –
如何使單元測試依賴於主項目的單獨項目?如果構建失敗,則主項目仍將標記爲構建。 – VTT