c# - 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 环境自动化的有效方法吗?我的目标是实现一个简洁的夜间构建和测试环境。
解决方案
你的方法没有问题,它会起作用的。
我给你的建议:
- 根据 UT 二进制文件的路径,您的目标是 .NET Core。
dotnet test
您可以调用您的 UT 项目,而不是直接调用 vstest.console.exe 。这将避免必须指定二进制文件的确切路径,该dotnet
命令会确定它们的位置。 - 同样,您可以调用
dotnet restore
anddotnet build
而不是msbuild
等价物。除了更“现代”之外,这样做并没有太大的好处。
推荐阅读
- python - “超级”对象没有属性“form_valid”(Django)
- java - Android 崩溃 onCreate() - Fragment 无法转换为 androidx.navigation.fragment.NavHostFragment
- botframework - Amazon Cognito 作为团队中 MSBotFramework 的 Bot 的通用 OAuth2 提供程序
- angular-material - 拖放:使用 copyArrayItem() 拖放 Angular 8 时,不应从起始数组中删除拖动的项目
- python - 通过 setup.py 安装的程序中的 Python 导入
- python - 如何使用 ”。” 作为“字符串”中的通配符而不是模式?
- java - 有没有使用 selenium webdriver 绕过 cookie iframe 的解决方案?
- discord.js - 无法读取未定义 discord.js v12 的属性“角色”
- c# - 根据 Type 变量传递泛型类型
- c# - .Net assembly for db migration can't be registered if com-interop is set under project properties build in vs