This Action was inspired by https://github.com/zyborg/dotnet-tests-report
This GitHub Action provides a way of parsing dotnet test results from trx files in a given directory. The action will find trx files specified in the TRX-PATH
input variable. This path must be accessible to the action.
It will read each individual .trx file. Loads up its data and converts it to a typed json object to make it easier to traverse through the data.
For each TRX, it will create a Github Status check and generate a markup report for each trx. The report name and title are derived from the trx file using the data.TestRun.TestDefinitions.UnitTest[0]._storage
The following reports show a failing and a passing check generated by this action.
Workflow Reports:
To make trx-parser
a part of your workflow, just add the following to your existing workflow file in your .github/workflows/
directory in your GitHub repository.
name: Test
on: [pull_request]
jobs:
Build:
runs-on: ubuntu-latest
steps:
# Replace this whichever way you build your code
- name: Build & Test dotnet code
run: |
dotnet restore
dotnet build -c Release no-restore
dotnet test -c Release --no-restore --no-build --logger trx --results-directory ./TestResults
# Using the trx-parser action
- name: Parse Trx files
uses: NasAmin/trx-parser@v0.1
id: trx-parser
with:
TRX_PATH: $/TestResults #This should be the path to your TRX files
REPO_TOKEN: $
| Name | Description | Default | Required |
| —- | ———– | ——- | ——– |
| TRX_PATH
| Path to the directory container your test files | ./TestResults
| yes
|
| REPO_TOKEN
| GitHub token to create status checks | nil
| yes
|
| SHA
| The commit SHA associated with the checks. This is optional | nil
| no
|
| IGNORE_FAILURE
| If true, will not set status check as failure. | false
| no
|
| REPORT_PREFIX
| The prefix for the report name. Useful for matrix builds | nil
| no
|
65535
characters. So if the test report exceeds this limit, GitHub will fail to create a check and fail your workflow.
This was mitigated on #103 and #138 to only report details about failing tests.Anyone is welcome to contribute and make this action better. Please fork the repository and create a pull request with proposed changes.
npm run build
and npm run test
npm run all
to regenerate the dist directory.