.net-corecommand-line-argumentsdotnet-core-pack

How to publish results using dotnet test command


I have a test project written in dotnet core. This need to publish the results in an XML or HTML format. Is there a way I can publish the results to a particular directory using the same command?
--result-directory is not working for me


Solution

  • You can see all the dotnet test options by executing dotnet test --help. One of the options is -l, --logger, which gives some great information:

    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
    

    That support link https://aka.ms/vstest-report, has the full information.

    So to answer your specific question, you can say

    dotnet test -l:trx;LogFileName=C:\temp\TestOutput.xml

    To publish the results to a particular directory.

    Another option is setting MSBuild properties in your test.csproj:

    <PropertyGroup>
      <VSTestLogger>trx</VSTestLogger>
      <VSTestResultsDirectory>C:\temp</VSTestResultsDirectory>
    </PropertyGroup>
    

    Which tells the logger to put the file in the C:\temp directory.