构建
通过 命令行 构建 Visual Studio 解决方案/项目是使用 msbuild.exe 完成的。最好将 MSBuild 的 path 添加到 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 Docs。
旁注: Jenkins 有一个 msbuild plugin,您可以将其与名为“使用 MSBuild 构建 Visual Studio 项目或解决方案”的构建步骤一起使用(重要提示:这不会安装 MSBuild,它只提供一个 GUI 以在构建计划中使用 MSBuild).
运行测试
要运行测试,您有两个选择:
- 在构建管道中运行每个项目的可执行文件,可执行文件的退出代码将指示该项目的单元测试成功/失败。但是,您需要分别调用每个可执行文件;或
- 将
vstest.console.exe 与 Google 测试适配器结合使用
您可以使用 Google 测试适配器,就像您单击 Test -> Run -> All tests 以在您的项目中发现和执行测试时 Visual Studio 使用它的方式一样。
在我的环境中,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 测试适配器运行测试