【发布时间】:2018-02-15 23:02:20
【问题描述】:
使用 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 映像的唯一其他想法。
【问题讨论】:
标签: unit-testing powershell continuous-integration .net-core visual-studio-2017