.net core 如何使用dotnet测试命令发布结果
我有一个用dotnetcore编写的测试项目。这需要以XML或HTML格式发布结果。是否有一种方法可以使用相同的命令将结果发布到特定目录?.net core 如何使用dotnet测试命令发布结果,.net-core,command-line-arguments,dotnet-core-pack,.net Core,Command Line Arguments,Dotnet Core Pack,我有一个用dotnetcore编写的测试项目。这需要以XML或HTML格式发布结果。是否有一种方法可以使用相同的命令将结果发布到特定目录? --result directory不适用于我您可以通过执行dotnet test--help查看所有dotnet test选项。其中一个选项是-l,--logger,它提供了一些重要信息: Specify a logger for test results. Examples: Log in trx format using a unqiue file n
--result directory
不适用于我您可以通过执行dotnet test--help
查看所有dotnet test
选项。其中一个选项是-l,--logger
,它提供了一些重要信息:
Specify a logger for test results.
Examples:
Log in trx format using a unqiue file name: --logger trx
Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>"
More info on logger arguments support:https://aka.ms/vstest-report
它告诉记录器将文件放在
C:\temp
目录中。在遇到同样的问题后(我想以JUnit格式发布测试结果),我最终找到了
这是安装它的问题:
dotnet add package JUnitTestLogger --version 1.1.0
然后以如下方式运行测试:
dotnet test --logger "junit;LogFilePath=path/to/your/test/results.xml"
我无法使用的答案中提供的语法来实现这一点 使用TRX记录器示例,我能够重新创建正确的语法
dotnet测试--记录器:“trx;LogFileName=C:\Temp\TestResults.xml”MyLibraryToTest.dll
$ dotnet test --logger:"trx;LogFileName=C:\Temp\TestResults.xml" MyLibraryToTest.dll
Microsoft (R) Test Execution Command Line Tool Version 16.8.1
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Starting ChromeDriver 87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}) on port 51459
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Results File: C:\Temp\TestResults.xml
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 7 s - MyLibraryToTest.dll (net5.0)
我无法创建固定的报告文件,此dotnet测试始终会附加一个跟踪时间戳
结果文件:C:\myapp\Results\u 2019-04-08\u 14-24-38-379.trx
。我想成为C:\myapp\results.trx
,正如dotnet test myapp.csproj——记录器trx所期望的那样;LogFileName=C:\temp\results--no build--no restore--configuration Release--verbosity q
@Eric Erhardt,在哪里可以找到用于在test.csproj中设置MSBuild属性的文档?我看了又看,但找不到任何信息。谢谢。我不确定是否有官方文件,我也找不到。但是,我通过查看dotnet test
命令如何调用项目找到了属性。请参考,我在运行LogFileName
时遇到问题,直到我将完整选项用引号括起来,例如-l:“trx;LogFileName=testresult.xml”
。另外需要注意的是:如果未指定目录,文件将进入TestResults
文件夹。Tax,我需要xunit xml记录器,并且由于“dotnet xunit”命令不再作为外部命令行工具受支持。您的帖子让我找到了“XunitXml.TestLogger”,非常感谢,现在我使用的是dotnet测试--logger:“xunit;LogFilePath=test_result.xml”,它可以满足我的需要。我总是会遇到以下错误:找不到AssemblyQualifiedName、URI或FriendlyName“junit”的测试日志
您知道如何修复它吗?请确保在执行测试的环境中运行dotnet restore,以便junit程序集在路径上可用。工作正常,感谢共享。如何在解决方案文件下输出所有单元测试项目,输出junit报告似乎总是最后一个单元测试项目。我这里有一个trx/html示例:
$ dotnet test --logger:"trx;LogFileName=C:\Temp\TestResults.xml" MyLibraryToTest.dll
Microsoft (R) Test Execution Command Line Tool Version 16.8.1
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Starting ChromeDriver 87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}) on port 51459
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Results File: C:\Temp\TestResults.xml
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 7 s - MyLibraryToTest.dll (net5.0)