Visualizing GitHub Automated Test Results
Testspace has built-in integrations with GitHub Actions. To publish content simply “push” file(s) with the Testspace CLI. Test results, code coverage, and other artifacts can be published using a single command.
testspace path/to/**/results*.xml coverage.xml ..
Testspace Automation Reporting includes support for
- branching
- pull requests
- forks
- parallel jobs
- and multiple workflows
The GitHub’s Actions image below is from this Hello Publish sample that uses pre-canned results generated from multiple workflows based on the same commit id.
The test results, generated from the separate workflows, are aggregated into a single record using folders to organize the content.
testspace "[${{ github.workflow }}]./testcontent/*.xml"
Benefits
Teams can visualize all their test results with a single dashboard providing history, metrics, and other information.
The Testspace Dashboard provides:
- Built-in metrics/graphs
- Extensive Failure Tracking Management
- Automatic Flaky analysis
- Insights for process improvements
Check out the following:
- LIVE DASHBOARD
- Documentation Overview for pushing different types of test content to Testspace
Integration
There are two steps required to include Testspace within a workflow yml file:
- Include the setup-testspace action
- Push xml file(s) containing results with the testspace client
For more details refer to the getting started documentation.
Setup Action
Testspace provides a setup cli action, simplying the integration.
steps:
- uses: actions/checkout@v2 # required "before" setup for checks to be included
- name: Testspace client setup
uses: testspace-com/setup-testspace@v1
with:
domain: ${{ github.repository_owner }}
token: ${{ secrets.TESTSPACE_TOKEN }} # optional, only required for private repos
..
Push XML File(s)
Files – output from the Continuous Integration process – are pushed to the Testspace Server using a simple command line client.
For details of the different test content supported refer to the file content documentation.
steps:
- name: Testspace push test content
run: testspace "*.xml"
Example Using Matrix
This Sample that uses pre-canned (fake) results leveraging multiple workflows
. The workflow below can be found here.
name: Matrix
on:
push:
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- name: Testspace client setup
uses: testspace-com/setup-testspace@v1
with:
domain: ${{github.repository_owner}}
- name: Testspace push test content
run: testspace "[${{ github.workflow }} / ${{ matrix.os}}]./testcontent/*.xml"
Get setup in minutes!
Try Testspace risk-free. No credit card is required.
Have questions? Contact us.