首页 > 解决方案 > VS 2019 使用 MSBuild.exe 和 VSTest.console.exe 自动构建和测试

问题描述

我的自制自动化如下(我使用 bash shell):

cd c:/tmp
rm -rf myproj
git clone <repo-url>/myproj -b releaseX
cd myproj
// Get the NuGet packages
msbuild.exe -t:restore
wait
// Build my Release Version
msbuild.exe myproj.sln -t:Rebuild -p:Configuration=Release
wait
// Run my Unit Tests that I keep in a UnitTest dir
vstest.console.exe UnitTests/bin/Release/netcoreapp2.2/UnitTests.dll
wait

除了有一些硬编码的目录名称或项目名称之外,这是使用 VSTest 环境自动化的有效方法吗?我的目标是实现一个简洁的夜间构建和测试环境。

标签: c#msbuildvstest

解决方案


你的方法没有问题,它会起作用的。

我给你的建议:

  1. 根据 UT 二进制文件的路径,您的目标是 .NET Core。dotnet test您可以调用您的 UT 项目,而不是直接调用 vstest.console.exe 。这将避免必须指定二进制文件的确切路径,该dotnet命令会确定它们的位置。
  2. 同样,您可以调用dotnet restoreanddotnet build而不是msbuild等价物。除了更“现代”之外,这样做并没有太大的好处。

推荐阅读