微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何运行VSTest请管理大量动态项目?

如何解决如何运行VSTest请管理大量动态项目?

在寻求在Azure DevOps(以前在Jenkins上)上设置CI / CD管道的过程中,我试图执行解决方案中的所有测试(NUnits)。

当前,命令行为:

vstest.console.exe "Solution\MySolution.sln" /Settings:"testSettings.runsettings" /Logger:"trx" /TestAdapterPath:"Solution\packages\NUnit3TestAdapter.3.12.0\build\net35"

以前,我们在詹金斯(Jenkins)上执行此操作:

nunit3-console.exe Solution\MySolution.sln --config=Debug --agents=1 --result=TestResult.xml;format=nunit2 --timeout=900000 --workers=1

正在查找并能够找到所有测试的内容。但是我认为Azure DevOps不支持它。 现在,我正在检查文档:https://docs.microsoft.com/en-us/visualstudio/test/vstest-console-options?view=vs-2017#general-command-line-options

但是我只能找到一种列出所有测试DLL的方法。我认为这是不可接受的,因为:

  1. 如果有人添加了新的测试程序集,我认为它并不强大, 重命名一个,...我们将没有这些测试的测试结果 这很容易在雷达下进行(我们已经有更多 超过9000个测试)
  2. 要在此处指定很多DLL,必须有一种更聪明的方法

所以我的问题是有办法执行解决方案中存在的所有测试吗? 如果不是,是否至少可以使用某种模式?像*.Test.dll

解决方法

您可以使用Visual Studio Test task代替命令行来运行NUnit测试。使用此任务可以使用Visual Studio Test Runner运行单元和功能测试(Selenium,Appium,编码的UI测试等)。除了基于MSTest的测试之外,还可以执行具有Visual Studio测试适配器的测试框架,例如xUnit,NUnit,Chutzpah。

测试文件支持多行minimatch patterns

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。