← All install guides

Agent-friendly version of this page: /install/phpunit.md

Installing TestGlance for PHPUnit

1. Make tests emit JUnit XML

PHPUnit writes JUnit XML natively — no extra package required.

Add a <logging> block to phpunit.xml (or phpunit.xml.dist):

<!-- phpunit.xml -->
<phpunit>
  <!-- existing config -->
  <logging>
    <junit outputFile="test-results/phpunit.xml"/>
  </logging>
</phpunit>

…or pass the flag at runtime:

mkdir -p test-results
vendor/bin/phpunit --log-junit test-results/phpunit.xml

2. Add the TestGlance step to CI

If the project already has a CI workflow that runs the tests, add this step to the test job (after the test step), and merge the permissions: block at the workflow's top level:

permissions:
  contents: read
  pull-requests: write
 
# ...inside the test job, after the test step:
- uses: testglance/action@v1
  if: always()
  with:
    github-token: ${{ github.token }}

If no CI workflow runs the tests yet, create .github/workflows/testglance.yml that runs the project's tests and then runs the TestGlance step.

if: always() matters — TestGlance should still run when tests fail. TestGlance auto-discovers anything matching **/test-results/*.xml, so no report-path is needed when reports land under test-results/.

3. Confirm with the user before committing

Summarize the diff and ask the user to confirm before staging or committing. Do not push.