Asp.net core dotnet测试未创建测试结果文件夹
作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet测试命令,该命令已作为Windows批处理文件添加 这是我的命令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测试输出测试结果,您可以尝试通过
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"