GoodData Test Storybook
Visual regression testing for Storybook with automatically found test scenarios
Usage
Note: Run screenshots tests only on CI to ensure the same environment (platform, browser, display pixel density, etc.)
Preparing environment
- Ensure you have Chrome 62 or greater installed
Preparing repository where you want to test Storybook
Running tests
- Run
yarn test-storybook
from the root of your repository in which you want to test Storybook. - To run tests via GitHub PR comment you can type
extended test - storybook
.
The link to CI html report appears in GitHub PR comment
Replacement of reference screenshots
- Download new reference screenshots from CI html report (artifacts)
ie. https://ci.intgdc.com/job/.../123/artifact/test-storybook/tests/
- Replace old reference screenshot in
stories/__screenshots__/
folder with new one - Commit changes
- (You may also run the job in your local docker)
Advanced config
For some scenarios you may need to add specific backstopjs options. All advanced options are available.
Add this section to packages.json
:
"test-storybook": {
"<section name>": {
"<scenario name>": {
"delay": 1000,
"removeSelectors": ".removeRandomValueElement",
"hoverSelector": ".hoverOverThisElementBeforeScreenshot"
}
}
}
Development
Install Node.js (node 12.16.1, npm v6.13.4) and Yarn 1.22.4.
Install dependencies:
yarn install --frozen-lockfile
Release @gooddata/test-storybook
Use CI job to release the library.
Tests
- Unit tests
yarn test
- Lint JavaScript
yarn validate