Visual Tests

We use Loki with Storybook for visual tests. Loki captures snapshots from selected stories and creates PNG references in ./loki/references folder.

Local machine

Before running Loki tests locally, ensure that both Storybook and Docker are running.

Commands

  • Run Visual Tests: yarn test-visual:loki
  • Update Snapshots: yarn test-visual:loki-update
  • Generate an HTML Report: yarn test-visual:loki-report
  • Generate and Open Report: yarn test-visual:loki-report-open

CI

Visual tests are automatically triggered on pull requests. The Loki CI job builds the Storybook, captures new snapshots, and compares them with the references. If there are differences, the “Loki Visual Regression Testing” check will fail.

To view the visual diff report, open the failed job page, go to the Summary section, and download the loki-report artifact.

If the differences are intentional or caused by a flake, update the reference snapshots by adding the loki-update label to the pull request.

Adding new tests

Adding new test is as simple as adding new stories. As of today, we use visual tests only for charts, however, you can use it for any other stories. Make sure the storiesFilter value in loki.config.js includes the stories you want to have as visual tests.

Read docs for other versions of Metabase.