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

A J*_*son 5 powershell continuous-integration unit-testing .net-core visual-studio-2017

使用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映像。

Oma*_*jid 3

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