我正在處理一個包含多個單元測驗的專案。我有一個 Visual Studio .sln 檔案,里面有大約 10 個 XXPrj。這些專案是用 Google Test 制作的。如果我想使用 Visual Studio 2019 運行它們,一切正常,我可以構建和運行單元測驗。
我想知道使用命令列以自動方式運行它們的最佳方法是什么。目的是然后將這些命令列內容集成到 jenkins 中以實作一切自動化。
uj5u.com熱心網友回復:
建造
通過命令列構建 Visual Studio 解決方案/專案是使用msbuild.exe. 它的作業原理最好的補充路徑的MSBuild的到PATH環境變數。
MSBuild 通常安裝在 Visual Studio 檔案夾中的某個位置。例如在我的機器上,路徑如下:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
構建包含所有專案的解決方案,如下所示:
msbuild.exe Example.sln
# Or if you want to build a release version or add additional arguments
msbuild.exe Example.sln /property:Configuration=Debug
有關更多選項,請參閱MSBuild CLI 檔案。
邊注: Jenkins 有一個msbuild 插件,您可以將其與名為“使用 MSBuild 構建 Visual Studio 專案或解決方案”的構建步驟一起使用(重要:這不會安裝 MSBuild,它僅提供一個 GUI 以在構建計劃中使用 MSBuild)。
運行測驗
要運行測驗,您有兩個選擇:
- 在構建管道中運行每個專案的可執行檔案,可執行檔案的退出代碼將指示該專案單元測驗的成功/失敗。但是,您需要分別呼叫每個可執行檔案;或者
- 使用
vstest.console.exe與聯合谷歌測驗配接器
當您單擊以在專案中發現和執行測驗時,您可以像使用Visual Studio 一樣使用Google 測驗配接器Test -> Run -> All tests。
在我的環境中,vstest.console.exe位于:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe
您還需要提供測驗配接器的路徑。然后按如下方式執行所有測驗:
# Assuming vstext.console.exe is included in the PATH
# and the current working directory is the relevant project executable
# output folder:
vstest.console.exe Project1.exe Project2.exe Project3.exe /TestAdapterPath:"<path to adapter>"
路徑再次隱藏在 Visual Studio 檔案夾中的某處。我是通過搜索找到的GoogleTestAdapter.TestAdapter.dll。在我的機器上,它位于:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\drknwe51.xnq
結論
因此,可以在以下兩個步驟中使用命令列構建和運行 GoogleTest 單元測驗的自動化方法,這些單元測驗分為多個專案:
- 使用構建解決方案/專案
msbuild.exe vtest.console.exe結合 Google Test Adapter運行測驗
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/375364.html
