Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core dotnet测试未创建测试结果文件夹_Asp.net Core_Tfs_Tfsbuild_Tfs 2015_Dotnet Test - Fatal编程技术网

Asp.net core dotnet测试未创建测试结果文件夹

Asp.net core dotnet测试未创建测试结果文件夹,asp.net-core,tfs,tfsbuild,tfs-2015,dotnet-test,Asp.net Core,Tfs,Tfsbuild,Tfs 2015,Dotnet Test,作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet测试命令,该命令已作为Windows批处理文件添加 这是我的命令 dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal 这是从命令行运行时的输出 因此,这一切似乎都正常工作,但没有创建任何测试结果/测试输出 要从dotnet测试输出测试结果,您可以尝试通过

作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet测试命令,该命令已作为Windows批处理文件添加

这是我的命令

dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal
这是从命令行运行时的输出


因此,这一切似乎都正常工作,但没有创建任何测试结果/测试输出

要从dotnet测试输出测试结果,您可以尝试通过
-xml/some/path/out.xml
或使用
work
参数,如下所示:
dotnet测试--work:“mypath/myresult.xml”
。有关详细信息,请参见以下线程:


此外,通常需要指定参数
-l |--logger
,该参数指定测试结果的记录器

e、 g:

dotnet测试“myproject.csproj”--记录器“trx;LogFileName=path\to\tests\folder\results.trx”
dotnet测试“myproject.csproj”-l:“trx;LogFileName=path\to\tests\folder\results.trx”

要使生成的
trx
文件在VSTS/TFS中作为测试结果可用,可以使用“发布测试结果”任务:


要使用
dotnet测试
选项
--results目录
输出测试结果,还必须设置
--logger

-xml
-work
选项不再工作,因为它们不是测试CLI提供的选项的一部分。我记得在过去我使用过
-xml
,它很管用,但现在不再管用了

您可以看到CLI.NET Core 2.x的所有选项

要将测试结果发布到特定文件夹中,应使用以下命令:

dotnet test --logger "trx;logfilename=mytests.trx" --results-directory ./somefolder/subfolder

trx文件是一个XML文件,因此可以将其命名为mytests.XML而不是mytests.trx

如果使用VST,则可以使用上面用于测试的“.NET Core”任务和“发布测试结果”任务中的命令发布要在生成页面中显示的测试

“.NET Core”任务根据下面的屏幕截图解释了结果发布的位置:

完成所有操作后,构建页面将如下所示:


直接在代理计算机上运行dotnet测试时,是否可以创建测试结果文件夹?我的意思是在本地的命令行中运行。上面的屏幕截图是从构建服务器上截取的。你的意思是在我的本地开发机器上尝试这个吗?是的,你可以在本地开发机器上尝试一下,检查是否可以创建测试结果文件夹。此外,您还可以尝试为测试结果指定一个记录器(
-l |--logger
),以检查该记录器是否有效。dotnet测试未重新指定--xml或--work参数。大概为了发布我的测试结果,我需要先执行单元测试,这就是为什么我要让dotnet测试工作的原因。dotnet测试“myproject.csproj”--logger“trx;LogFileName=path\to\tests\folder\results.trx”我的朋友不用担心。我接受了这个答案,因为这帮了我很大的忙。谢谢:)
--logger
参数应包含在引号中。我使用的是SonarQube,通过设置logger(设置为nunit,就像我使用NUnit3进行单元测试一样),默认文件名TestResults.xml已被SonarQube正确拾取和处理。注意:我需要在我的测试项目中安装NuGet包NUnitXML.TestLogger以激活它。
dotnet test --logger "trx;LogFileName=./somefolder/subfolder/mytests.trx"