首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dotnet测试仅测试解决方案上的项目

dotnet测试仅测试解决方案上的项目
EN

Stack Overflow用户
提问于 2017-09-07 17:12:31
回答 3查看 5K关注 0票数 6

使用Visual Studio 2017和Dotnet Core 2.0 SDK,我有一个包含多个项目的解决方案。其中一些是测试项目,另一些是源代码项目。

我可以在根解决方案方向上运行dotnet test,它将尝试发现该解决方案的所有项目中的测试。

但是,源项目没有测试,因此会为这些项目显示错误。除了进程的退出代码为1之外,所有测试都运行并通过。这意味着我们的CI构建失败。

有没有办法让它只在解决方案的测试项目上运行?它们位于测试目录中,既在文件系统上,也在解决方案目录中,但我找不到任何方法来过滤它们。

我已经编写了一个Powershell脚本来为测试文件夹中的每个项目运行它,但是我们的CI服务器使用的是Linux和Docker镜像microsoft/dotnet:2.0-sdk,所以Powershell脚本不会在那里运行。

我可以用Bash编写它,但它不能在Windows上运行。

我唯一的另一个想法是为同时拥有dotnet和powershell的构建制作一个自定义的docker镜像。

EN

回答 3

Stack Overflow用户

发布于 2017-09-07 20:33:58

这是一个没有修复的已知问题。此问题中列出了一些解决方法:https://github.com/Microsoft/vstest/issues/411

票数 3
EN

Stack Overflow用户

发布于 2019-01-14 10:06:11

好消息是,到目前为止,.NET Core2.2已经修复了这个问题。提交:https://github.com/Microsoft/vstest/pull/1745

票数 2
EN

Stack Overflow用户

发布于 2019-12-03 10:53:16

如果我们在谈论dotnet test,这是相关的问题:

https://github.com/microsoft/vstest/issues/1129

有一个a comment建议解决这个问题:

  1. 在与解决方案相同的目录中添加一个Directory.Build.targets文件,其中包含:

  • 还在同一目录中添加了一个after.[YourSolution].sln.targets文件,将名称中的[YourSolution]替换为您的实际解决方案名称,其中包含:

a later comment中,他提到他blogged the details of how this works

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46092418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档