首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET Core1.0-如何使用xUnit命令行运行“解决方案中的所有测试”

.NET Core1.0-如何使用xUnit命令行运行“解决方案中的所有测试”
EN

Stack Overflow用户
提问于 2016-05-19 12:33:29
回答 6查看 6.7K关注 0票数 14

https://xunit.github.io/docs/getting-started-dotnet-core.html页面描述了如何使用dotnet test命令行运行测试。

它声明它需要一个特定的project.json,在这里我们添加xunit依赖项和测试运行程序:

代码语言:javascript
复制
  "testRunner": "xunit",
    "dependencies": {
        "xunit": "2.1.0",
        "dotnet-test-xunit": "1.0.0-rc2-build10015"
    }

如果我尝试从父目录调用它:

代码语言:javascript
复制
C:\git\Project\test [master ≡]> dotnet test
dotnet-test Error: 0 : System.InvalidOperationException: C:\git\Project\test\project.json does not exist.
   at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath)
   at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args)
C:\git\Project\test [master ≡]>

问:是否有一种方法可以使用单个project.json运行所有测试(多个dotnet test )

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-06-03 15:45:04

因为已经过了将近一个月了,没有人回答,所以我至少要分享一下我一直在做的事情。(一旦Visual "15“RTM启动,这将不相关,因为project.json死了)

只需在所有for上使用一个project.json循环:

在本地,在测试目录中,我只运行:

代码语言:javascript
复制
for /f %a in ('dir /b /s project.json ^| find /v "TestUtilities"') do dotnet test %a

在所有project.json上运行它,除非路径有: TestUtilities

请注意,在TeamCity上,您需要转义%(在脚本中,您需要双倍:%%),这样就可以了:

代码语言:javascript
复制
for /f %%%a in ('dir /b /s project.json ^| find /v "TestUtilities"') do dotnet test %%%a

注意%%。由于在TeamCity中%用于变量,所以第三%转义它。

票数 6
EN

Stack Overflow用户

发布于 2016-10-05 13:58:24

如果有人在寻找Windows的答案,下面是PowerShell中完成此工作的oneliner:

dir test | % { dotnet test $_.FullName }

票数 9
EN

Stack Overflow用户

发布于 2016-12-12 12:11:05

来自塞里罗格的人员有一个在他们的CI管道中构建多个测试项目的例子。查看这个powershell脚本https://github.com/serilog/serilog/blob/dev/Build.ps1#L44

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

https://stackoverflow.com/questions/37323364

复制
相关文章

相似问题

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