VS 2019使用MSBuild.exe和VSTest.console.exe自动生成和测试

时间:2019-09-06 20:49:27

标签: c# msbuild vstest

我自家种植的自动化设备如下(我使用bash外壳):

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环境自动化的有效方法吗?我的目标是每晚实现一个简洁的构建和测试环境。

1 个答案:

答案 0 :(得分:1)

您的方法没有错,它将起作用。

我对您的建议

  1. 基于UT二进制文件的路径,您的目标是.NET Core。您可以直接在UT项目上调用dotnet test,而不是直接调用vstest.console.exe。这样可以避免必须指定二进制文件的确切路径,dotnet命令可以确定它们的位置。
  2. 沿着同一脉络,您可以调用dotnet restoredotnet build而不是等效的msbuild。除了变得更“现代”之外,这样做没有太大好处。