trx2junit 2.0.0

dotnet tool install --global trx2junit --version 2.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local trx2junit --version 2.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=trx2junit&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package trx2junit --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CI NuGet
Build Status NuGet

trx2junit (.NET Core global tool)

Helper for converting trx-Testresults (dotnet test --logger "trx") to a JUnit-based XML file.

Can be used for CI-scenarios, like CircleCi or GitLab, where as test results JUnit is expected.

Usage

trx to junit

When installed as .NET Core Global Tool: trx2junit {trxFile} where trxFile is the path to the trx-file.

You can pass more than one trx file, each will create it's own junit xml file.

# handle two files
$ trx2junit a.trx b.trx
Converting 2 trx file(s) to JUnit-xml...
Converting 'a.trx' to 'a.xml'
Converting 'b.trx' to 'b.xml'
done in 0.1234567 seconds. bye.

# for shells that handle wildcard expansion:
$ trx2junit results/*.trx
Converting 1 trx file(s) to JUnit-xml...
Converting 'example.trx' to 'example.xml'
done in 0.1234567 seconds. bye.

If the shell won't handle wildcard expansion, trx2junit handles the expansion of files in the same directory.

A different location for the JUnit-output can be specified:

# specify different output location
$ trx2junit a.trx --output ../results

# or
$ trx2junit --output results a.trx ../tests/b.trx
Jenkins JUnit

For Jenkins JUnit on the testcase the status-attribute is set. By default 1 is set for success, and 0 for failure. This can be configured via environment varialbes (note: if omitted, the default values will be used):

Status Variable default value
success TRX2JUNIT_JENKINS_TESTCASE_STATUS_SUCCESS 1
failure TRX2JUNIT_JENKINS_TESTCASE_STATUS_FAILURE 0
skipped TRX2JUNIT_JENKINS_TESTCASE_STATUS_SKIPPED not set

junit to trx

With option --junit2trx a conversion from junit to trx can be performed.

If a given xml-file is not a junit-file, a message will be logged to stderr and the exit-code is set to 1. A junit-file is considered valid if it either conforms to junit.xsd or jenkins-junit.xsd.

Installation

dotnet tool install -g trx2junit

For CI-scenarios execute before usage:

export PATH="$PATH:/root/.dotnet/tools"

Check also the documentation of your CI-system on how to persist the PATH between steps, etc. E.g. in CircleCI you need to run

echo 'export PATH="$PATH:/root/.dotnet/tools"' >> "$BASH_ENV"

Prequisites / Supported SDKs

In order to install this tool a .NET SDK must be present. Supported SDKs are:

  • .NET 6.0
  • .NET 5.0
  • .NET Core 3.1

Core functionality as standalone package trx2junit.Core

Starting with v2.0.0 it's possible to use the core functionality as standalone package trx2junit.Core.
The tool (see above) itself is a consumer of that package.

After adding a reference to trx2junit.Core one can use it in "commandline-mode" like

Worker worker         = new();
WorkerOptions options = WorkerOptions.Parse(args);
await worker.RunAsync(options);

or create the WorkerOptions via the constructor, and pass that instance into RunAsync of the worker.

Development channel

To get packages from the development channel use a nuget.config similar to this one:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="gfoidl-public" value="https://pkgs.dev.azure.com/gh-gfoidl/github-Projects/_packaging/gfoidl-public/nuget/v3/index.json" />
    </packageSources>
</configuration>

This package has no dependencies.

Version Downloads Last updated
2.0.0 18,873 12/1/2021
1.6.0 49,897 11/15/2021
1.5.0 579,355 2/28/2021
1.4.1 47,490 2/1/2021
1.4.0 135,485 11/11/2020
1.3.2 183,132 7/16/2020
1.3.1 129,481 6/14/2020
1.3.0 251,855 11/15/2019
1.2.6 73,956 8/26/2019
1.2.5 49,866 6/13/2019
1.2.4 22,039 4/19/2019
1.2.3 24,958 2/20/2019
1.2.2 11,996 12/16/2018
1.2.1 4,262 11/13/2018
1.2.0 7,864 9/14/2018
1.1.0 630 9/12/2018
1.0.2 3,047 7/10/2018
1.0.1 785 6/1/2018
1.0.0 596 5/23/2018